IE6

网友投稿 210 2023-08-07


IE6

IE6-IE9中tbody的innerHTML不能赋值,重现代码如下

js代码

两个按钮,第一个获取tbody的innerHTML,第二个设置tbody的innerHTML。

获取时所有浏览器都弹出了tr的字符串,但设置时IE6-9不支持,而且报错,如图

可以利用特性判断来看浏览器是否支持tbody的innerHTML设值

var isupportTbodyInnerHTML = function () {

var table = document.createElement('table')

var tbody = dohttp://cument.createElement('tbody')

table.appendChild(tbody)

var boo = true

try{

tbody.innerHTML = '

} catch(e) {

boo = false

}

return boo

}()

alert(isupportTbodyInnerHTML)

点击下,看看你此时浏览本博客的浏览器是否支持

Click Me

对于IE6-IE9里如果要设置tbody的innerHTML,可以使用如下替代方法

Js代码

function setTBodyInnerHTML(tbody, html) {

var div = document.createElement('div')

div.innerHTML = '

while(tbody.firstChild) {

tbody.removeChild(tbody.firstChild)

}

tbody.appendChild(div.firstChild.firstChild)

}

用一个div来包含一个table,然后删除tbody里的所有元素,最后给tbody添加div的第一个元素的第一个元素,即div>table>tr。

当然还有一个更精简的版本,它直接采用replaceChild方法替换

Js代码

function setTBodyInnerHTML(tbody, html) {

var div = document.createElement('div')

div.innerHTML = '

tbody.parentNode.replaceChild(div.firstChild.firstChild, tbody)

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Internet Explorer 11 浏览器介绍:别叫我IE
下一篇:Java函数式编程(十二):监控文件修改
相关文章

 发表评论

暂时没有评论,来抢沙发吧~