Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用';原型';?_Javascript_Internet Explorer_Ixmldomelement - Fatal编程技术网

Javascript 如何使用';原型';?

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中使

我有一些代码,它是几年前写的,只在IE中工作。我想,现在让它与浏览器一起工作

因此,代码通过XHR接收XML,然后读取其内容。我有一个元素的“集合”。在FF中,it类型为元素,在IE中为IXMLDOMELENT。为了使读取文本值统一(FF使用textContent属性,即text),我想添加如下方法:

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)。谢谢你的帮助!