firefox的innerHTML替代方案
innerHTML alternative for firefox
我正在用以下代码行填充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='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;
}
当我试图通过名称AppOrderTxt1
获取请求参数值时,它在FireFox中返回null
,而在IE中也是如此。
可能不是问题,但您有一个额外的'
:
newTD.innerHTML = "<input type='text' name='AppOrderTxt1' readOnly='true'"+
" id='AppOrderTxt' value=' test' class='text-noborders' onFocus='this.blur()' size='3'/>";
另外,第一个if语句在firefox中工作,但由于(document.all)的原因,firefox不会输入它。。。
tblRCRPCombo.children[0].appendChild(newTR);
而不是整个if-else语句,那么它将在FF和IE中工作。
原因如下:https://developer.mozilla.org/en/Mozilla_Web_Developer_FAQ
一些专有文档对象,如document.all和document.layers不是W3C DOM的一部分,在Mozilla。(对document.all有部分检测不到的支持,不过,在Mozilla的新版本中。但是,仅此功能存在是为了与专门为IE编写的网站兼容。您不应依赖Mozilla的文档。所有对新页面的支持。)这个方法document.getElementById()。
用textContent
:替换innerHTML
tblRCRPCombo.rows[tblRCRPCombo.rows.length-1].textContent = newTR.textContent;
相关文章:
- 轻量级zxcvbn替代方案
- 正在寻找比$(document).ready慢的$(window).load的替代方案
- ng映射方向备选方案
- 转义符不能与innerHTML一起使用
- 使用元素的值与innerHTML
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- Javascript form innerHTML
- 为什么$.brower被弃用?还有什么更好的替代方案
- JavaScript上的表单和innerHTML问题
- 如何使用innerHtml正确插入html
- 执行php函数的onclick事件的其他替代方案
- Android上URL方案的替代方案
- 当我更改innerHtml时,引导选项卡事件不再工作
- 一个ajax循环有两个输出错误innerHTML
- 为什么JavaScript可以'找不到给定的InnerHTML并返回Cannot set property
- :not选择器不适用于ul类-备选方案
- document.body.innerHTML的跨浏览器替代方案
- innerHTML似乎是唯一好的解决方案
- firefox的innerHTML替代方案
- 用于长文本的x.innerHTML的替代方案