上个月我写了很多页面,今天我意识到innerText不能在火狐中工作。我找到了textContent,但我不想挖掘我的一大堆页面。而且有时候我用的是jQuery.text,它似乎到处都能用。
所以问题是:走出这个地狱最简单的方法是什么?
发布于 2010-08-24 02:08:00
使用DOM approach怎么样?
var elem = document.getElementById("ElementID");
var text = document.createTextNode("Text");
text.nodeValue += " and more Text";
elem.appendChild(text);它对搜索和替换不是很友好,但它将保证你在所有浏览器上的兼容性。
如果使用这种方法,可能还需要从节点中删除所有元素。你可以这样做:
while ( elem.hasChildNodes() ) {
elem.removeChild( elem.firstChild );
}发布于 2010-08-23 23:22:49
我永远不会在生产代码中使用它,但是...
if ( typeof HTMLElement != 'undefined' && HTMLElement.prototype.__defineGetter__ != 'undefined' ) {
HTMLElement.prototype.__defineGetter__("innerText", function () {
return this.textContent;
});
}发布于 2010-08-23 21:16:00
使用.text()函数搜索并替换innerText。
https://stackoverflow.com/questions/3547851
复制相似问题