In mod normal, în JavaScript, foloseşti proprietatea “style.display” pe care o setezi după caz cu “none” sau “block”. În cazul div-urilor, totul merge fără probleme indiferent de browser (IE, Firefox sau Chrome) dar când vine vorba de o linie dintr-un tabel, adică un element <TR> apar problemele.
Dacă foloseşti “block”, în Chrome sau Firefox tot conţinutul <TR> –ului va fi afişat însă aiurea, îngrămădit sub prima coloana din tabel. Pentru a rezolva problema trebuie să foloseşti o alta valoare pentru aceeaşi proprietate şi anume “table-row” (în loc de “block”). Destul de neplăcut însă pentru că trebuie să tratezi cazul diferit în funcţie de browser-ul folosit.
Astăzi însă am descoperit că există o metodă extraordinar de simplă care merge în toate browserele: în loc să setezi “block” sau “table-row” e suficient să foloseşti “” ceea ce s-ar traduce în valoarea implicită pentru fiecare browser.
De ex.
function ShowHideTableRow (trID) {
var obj = window.document.getElementById(trID);
if (obj.style.display == “none”) obj.style.display = “”;
else obj.style.display = “none”;
}
Simplu, nu-i aşa?
Comentarii recente