关于document.body.appendChild在ie6兼容问题

本文介绍了一个在IE6浏览器中遇到的表格元素显示问题,即动态生成的内容无法正常显示,因为IE6默认添加了<TBODY>标签。文中提供了一种解决方法,通过手动添加<TBODY>标签并调整JavaScript代码来确保内容正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 function inserText() {
            var urldata = {"百度":"http://www.baidu.com","谷歌":"http://www.google.com","微软":"http://www.microsoft.com"};
            var table = document.getElementById("btntable");
            for (var key in urldata) {
                var urlName = urldata[key];
                var tr1 = document.createElement("tr");
                var td1 = document.createElement("td");
                td1.innerText = key;
                tr1.appendChild(td1);

                var td2 = document.createElement("td");
                td2.innerHTML = "<a href='" + urlName + "'>" + urlName + "</a>";
                tr1.appendChild(td2);
                table.appendChild(tr1);
            }
        }

<body>
    <table id="btntable">
    </table>
    <input type="button" onclick="inserText()" value="插入内容"/>
</body>

在IE6里通过DebugBar来观察,

<TABLE id=btntable>
<TBODY ></TBODY>
<TR>
<TD>百度</TD>
<TD><A href="http://www.baidu.com/">http://www.baidu.com</A></TD></TR>
<TR>
<TD>谷歌</TD>
<TD><A href="http://www.google.com/">http://www.google.com</A></TD></TR>
<TR>
<TD>微软</TD>
<TD><A href="http://www.microsoft.com/">http://www.microsoft.com</A></TD></TR></TABLE>

在IE6里多了<TBODY ></TBODY>这对标签,IE6默认显示<TBODY ></TBODY>里的内容,所以我们生成的内容不能显示

 

解决办法:

<body>
    <table id="btntable">
     <tbody id="td"></tbody>//自己动手添加这个标签
    </table>
    <input type="button" onclick="inserText()" value="插入内容"/>
</body>

 function inserText() {
            var urldata = {"百度":"http://www.baidu.com","谷歌":"http://www.google.com","微软":"http://www.microsoft.com"};
            var tbody= document.getElementById("bt");//只要获得tbody元素
            for (var key in urldata) {
                var urlName = urldata[key];
                var tr1 = document.createElement("tr");
                var td1 = document.createElement("td");
                td1.innerText = key;
                tr1.appendChild(td1);

                var td2 = document.createElement("td");
                td2.innerHTML = "<a href='" + urlName + "'>" + urlName + "</a>";
                tr1.appendChild(td2);
                tbody.appendChild(tr1);//在tbody里添加tr1就大功告成..
            }
        }


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值