Javascript firefox的innerHTML替代方案
我用下面一行代码填充html表 Javascript:Javascript firefox的innerHTML替代方案,javascript,html,firefox,innerhtml,Javascript,Html,Firefox,Innerhtml,我用下面一行代码填充html表 Javascript: var newTR = document.createElement("TR"); var newTD; newTD = document.createElement("TD"); newTD.width = "22%" newTD.innerHTML = "<input type='text' name='AppOrderTxt1' readOnly='true'"+ "' id='AppO
var newTR = document.createElement("TR");
var newTD;
newTD = document.createElement("TD");
newTD.width = "22%"
newTD.innerHTML = "<input type='text' name='AppOrderTxt1' readOnly='true'"+
"' id='AppOrderTxt' value=' test' class='text-noborders' onFocus='this.blur()' size='3'/>";
newTR.appendChild(newTD);
if(document.all){
tblRCRPCombo.children[0].appendChild(newTR);
}else{
tblRCRPCombo.insertRow(tblRCRPCombo.rows.length);
tblRCRPCombo.rows[tblRCRPCombo.rows.length-1].innerHTML=newTR.innerHTML;
}
var newTR=document.createElement(“TR”);
var newTD;
newTD=document.createElement(“TD”);
newTD.width=“22%”
newTD.innerHTML=“可能不是问题,但您有一个额外的”
:
newTD.innerHTML = "<input type='text' name='AppOrderTxt1' readOnly='true'"+
" id='AppOrderTxt' value=' test' class='text-noborders' onFocus='this.blur()' size='3'/>";
newTD.innerHTML=“”;
另外,第一个if语句在firefox中工作,但是firefox不会输入它,因为(document.all)
tblrcpcombo.children[0]。appendChild(newTR);
…而不是整个if-else语句,那么它将在FF和IE中工作
原因如下:
一些专有文档对象,如document.all和
document.layers不是W3C DOM的一部分,在中不受支持
Mozilla。(对document.all有部分不可检测的支持,
但是,在较新版本的Mozilla中,该功能仅限于
存在是为了与专为IE.You编写的网站兼容
不应依赖Mozilla的文档。新页面上的所有支持。)
方法document.getElementById()可以替代
将innerHTML
替换为textContent
:
tblRCRPCombo.rows[tblRCRPCombo.rows.length-1].textContent = newTR.textContent;
输入是否出现在HTML页面中?如果您修复了语法错误(id属性前有一个额外的引号),它是否有效?我已经删除了那个额外的引号,但它没有任何区别。我已经删除了那个额外的引号,如果条件也一样,但它仍然没有任何区别。这对我在FF 10和IE 8中都有效。这可能是一个愚蠢的问题,但你是否声明了tblRCRPCombo
变量?