Use*_*ser 2 javascript firefox internet-explorer google-chrome
我使用以下脚本从HTML表中获取值.如果我使用 innerText,它将适用于IE和Chrome Fine.But FireFox显示错误:row.cells [0] .innerText是未定义的源.如果我使用textContent它将在Chrome和FireFox中运行良好.但IE显示以下错误cells.0.textContent'为null或不是对象.如何更改此脚本在IE,Chrome,FireFox上工作没有错误?我使用c = row.cells [0] .innerText.strip(); 或者 c = row.cells [0] .textContent.strip();
function a()
{
var table = getServerObject("b");
var row,c;
for (var i = 2; i < table.rows.length - 1; i++)
{
row = table.rows[i];
if(row.cells.length==1)continue;
c= row.cells[0].innerText.strip(); //It was work in chrome and IE (or)
c=row.cells[0].textContent.strip();//It was work in chrome and FF
if(c==0)
{
//Something
}
}
}
Run Code Online (Sandbox Code Playgroud)
在使用该属性之前进行测试,该属性可用:
var contentEnabled = document.textContent === null;
Run Code Online (Sandbox Code Playgroud)
稍后你有一个if决定使用哪个属性
if ( contentEnabled ) {
c= row.cells[0].textContent.strip(); // It was work in chrome and FF
} else {
c= row.cells[0].innerText.strip(); // It was work in chrome and IE
}
Run Code Online (Sandbox Code Playgroud)
或@RobW建议的更短
c = row.cells[0][contentEnabled ? 'textContent' : 'innerText'].strip();
Run Code Online (Sandbox Code Playgroud)
对于两个属性之间的细微差别,请注意MDN文档中textContent的以下内容:
与innerText的不同之处
Internet Explorer介绍
element.innerText.意图几乎相同,有几点不同:需要注意的是,虽然
textContent得到的所有元素,包括内容<script>和<style>元素,大多是等效比IE属性,innerText,其实不然.innerText也知道风格,不会返回隐藏元素的文本,而textContent将会.如innerText知道CSS样式,它将触发回流,而textContent不会.
| 归档时间: |
|
| 查看次数: |
1008 次 |
| 最近记录: |