Javascript 如何使用';原型';?
我有一些代码,它是几年前写的,只在IE中工作。我想,现在让它与浏览器一起工作 因此,代码通过XHR接收XML,然后读取其内容。我有一个元素的“集合”。在FF中,it类型为元素,在IE中为IXMLDOMELENT。为了使读取文本值统一(FF使用textContent属性,即text),我想添加如下方法:Javascript 如何使用';原型';?,javascript,internet-explorer,ixmldomelement,Javascript,Internet Explorer,Ixmldomelement,我有一些代码,它是几年前写的,只在IE中工作。我想,现在让它与浏览器一起工作 因此,代码通过XHR接收XML,然后读取其内容。我有一个元素的“集合”。在FF中,it类型为元素,在IE中为IXMLDOMELENT。为了使读取文本值统一(FF使用textContent属性,即text),我想添加如下方法: Element.prototype.getText = function() { return this.text || this.textContent; } 但是,当我尝试在IE中使
Element.prototype.getText = function() {
return this.text || this.textContent;
}
但是,当我尝试在IE中使用IXMLDOMELENT而不是元素来执行此操作时,我得到一个错误(在IE中),即IXMLDOMELENT未定义。如果某事物是那种类型的话,它是如何无法定义的?(检入IE的开发工具)
有谁能给我一些建议,提示如何处理这个问题吗?从版本8开始,Internet Explorer支持元素接口。 不幸的是,在版本8之前的Internet Explorer中不支持接口 在IE中使用innerText属性(而不是文本),所有HTML元素都支持它,并且它与FF中的textContent属性具有相同的功能。 在JavaScript中,当将空字符串用作条件时,它的计算结果为false,因此如果this.text为空且this.textContent不受支持,则(this.text | | this.textContent)表达式将返回undefined而不是空字符串
Element.prototype.getText = function() {
return (this.textContent === undefined ? this.innerText : this.textContent);
}
相关链接:
,,
不幸的是,我有IE8,并且没有定义“元素”-在IE8的开发控制台中检查。this.innerText对我也不起作用-它在IE中返回未定义。我认为您的IE8浏览器处于IE7模式(按F12键进行更改)元素界面对我起作用,当我将其更改为IE8时(浏览器模式和文档模式都更改为IE8)。谢谢你的帮助!