[英]Hide Dynamically Added Columns/Fields
我有一些动态创建的行/列。 我想做的是将其一部分(txtOffsetID)设置为隐藏。 我尝试了这个: txtOffsetID.setAttribute('type', 'hidden');
但这没用。 我想隐藏整个列和添加的任何新列。 我需要它才能在IE中工作。 谢谢。
样例代码:
function addNewOffsetItem()
{
var iX = document.getElementById("txtOffsetIndex").value;
iX ++;
document.getElementById("txtOffsetIndex").value = iX;
var tbl = document.getElementById("tblOffsetDetail").getElementsByTagName("TBODY")[0];
var tr = document.createElement("TR");
tbl.appendChild(tr);
//This section should be hidden.
//txtOffsetID1
var tdID = document.createElement("TD");
tr.appendChild(tdID);
var p = document.createElement("P");
tdID.appendChild(p);
var txtOffsetID = document.createElement("input");
p.appendChild(txtOffsetID);
txtOffsetID.id = "txtOffsetID" + iX;
txtOffsetID.setAttribute('name','txtOffsetID' + iX);
**document.getElementById("colOffsetID").style.display="none";**
//This section should be visible.
//txtOffsetComments1
var tdComments = document.createElement("TD");
tr.appendChild(tdComments);
var p = document.createElement("P");
tdComments.appendChild(p);
var txtOffsetComments = document.createElement("textarea");
p.appendChild(txtOffsetComments);
txtOffsetComments.id = "txtOffsetComments" + iX;
txtOffsetComments.setAttribute('name','txtOffsetComments' + iX);
}
<table width="99%" border="1" cellpadding="1" cellspacing="1" id="tblOffsetDetail">
<colgroup>
<col id="colOffsetID">
<col id="colOffsetComments">
</colgroup>
<tbody>
<tr>
<td><input type="text" id="txtOffsetID" name="txtOffsetID"></td>
<td><p><textarea name="txtOffsetComments" cols="15" rows="3" id="txtOffsetComments"></textarea></p></td>
</tr>
</tbody>
</table>
创建的“ tr”元素可以这样隐藏
tr.setAttribute('style', 'display: none;');
但是如果您想隐藏整列,则需要使用colgroup table元素
例
<table> <colgroup> <col id="colOne"> <col id="colTwo"> <col id="colThre"> </colgroup> <tbody> <tr> <td>one</td> <td>two</td> <td>three</td> </tr> </tbody>
你可以像这样隐藏colTwo
document.getElementById('colTwo').style.display = 'none';
我希望这有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.