在IE6-IE9不能TBODY innerHTML被分配,和再现的代码如下
JS代码
tbody的innerHTML在IE6-IE9不能
复制错误 AAA
捷先
VaR tbody = document.getelementsbytagname('tbody){ 0 }
功能settbody(){
tbody.innerhtml = {BBB}
}
功能gettbody(){
警报(TBODY .innerHTML)
}
btn1.onclick =
函数(){
gettbody()
}
btn2.onclick =函数(){
settbody()
}
两个按钮,得到的tbody innerHTML第一、第二套都innerHTML。
所有的
浏览器都出现了TR的字符串时获得的,但ie6-9不
支持设置是错误的,如图
您可以使用特征的判断看浏览器是否支持组都innerHTML
无功isupporttbodyinnerhtml =函数(){()
无功表= document.createelement(}})
VaR tbody = document.createelement('tbody)
table.appendchild(把)
真的
尝试{
tbody.innerhtml =
} catch(e){
嘘= false
}
返回嘘
(})
警报(isupporttbodyinnerhtml)
点击查看您的浏览器此时是否支持此博客。
点击我
下面的选择可以如果你想设置TBODY用于innerHTML在IE6-IE9
JS代码
功能settbodyinnerhtml(tbody,HTML){
var div = document.createelement('div)
div.innerhtml =+ HTML +
而(tbody. firstChild){
tbody.removechild(TBODY。第一个孩子)
}
tbody.appendchild(div.firstchild。第一个孩子)
}
使用DIV包含一个表,然后删除在把所有元素,并添加div来把第一个元素的第一个元素,即div >表> TR.
当然,还有一个更精简的版本,这是直接替代
方法的
作用 JS代码
功能settbodyinnerhtml(tbody,HTML){
var div = document.createelement('div)
div.innerhtml =+ HTML +
tbody.parentnode.replacechild(div.firstchild.firstchild,tbody)
}