繁体   English   中英

隐藏动态添加的列/字段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM