首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用“prototype”扩展IXMLDOMElement?

如何使用“prototype”扩展IXMLDOMElement?
EN

Stack Overflow用户
提问于 2010-08-18 13:03:21
回答 1查看 871关注 0票数 0

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

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

代码语言:javascript
复制
Element.prototype.getText = function() {
    return this.text || this.textContent;
}

但是,当我尝试使用IXMLDOMElement而不是元素在IE中执行此操作时,就会得到错误(在IE中),即IXMLDOMElement没有定义。如果是那样的话,什么东西是不能定义的?(在IE的开发工具中签入)

有人能给我一些建议吗,告诉我如何处理这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-18 13:31:05

元素接口在版本8的Internet中得到支持。不幸的是,Internet Explorer在版本8之前不支持接口。

在IE中使用innerText属性(而不是文本),所有HTML元素都支持它,它具有与FF中的textContent属性相同的功能。在JavaScript中,空字符串在用作条件时被求值为false,因此如果this.text为空且不支持this.textContent,则( this.textContent)表达式返回未定义的字符串而不是空字符串。

代码语言:javascript
复制
Element.prototype.getText = function() { 
    return (this.textContent === undefined ? this.innerText : this.textContent); 
} 

相关链接:JavaScript中的接口

innerText性质textContent性质

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3512345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档