我使用javascript在表格中创建行。当我试图隐藏这些行时,它隐藏了行,但仍然占用了行的空间。 我的代码:
for (var i = 0; i < 8; i++) {
isHide = false;
if(i<3)
isHide = true;
var table = document.getElementById("table");
var tr = document.createElement("TR");
if (isHide == true) {
tr.style.visibility = "none";
}
else {
tr.style.visibility = "visible";
}
table.appendChild(tr);
var td1 = document.createElement("TD");
var td2 = document.createElement("TD");
tr.appendChild(td1);
tr.appendChild(td2);
var checkbox = document.createElement('input');
checkbox.type = "checkbox";
checkbox.name = i;
checkbox.value = i;
checkbox.id = i;
var label = document.createElement('label')
label.htmlFor = i;
label.appendChild(document.createTextNode(i.toString()));
if (isHide == false){
var mybr = document.createElement('br');
}
td1.appendChild(label);
td2.appendChild(checkbox);
}
如何以不占用任何空间的方式隐藏行?
答案 0 :(得分:3)
将tr.style.visibility = "none";
更改为tr.style.display = 'none'
使用display:none
,不会为tr
分配空间,因为tr
不会出现在页面上,我们可以通过DOM与tr
进行互动。
使用visibility:hidden
时,tr
不可见,但会占用分配给它的空间。这意味着tr
在页面上呈现,但似乎不可见。