0

自从将 jQuery 更新到 1.9.1 后,Opera 开始抛出与 nodeType 相关的错误。

我有以下代码:

$("p, td, div, span").children().andSelf().contents().each(function(){
    if (this.nodeType == 3)
    {
        ...
    }
});

和 Opera 抛出

未处理的错误:安全错误:试图读取受保护的变量

即使我删除了那个代码块,Opera 也会抛出同样的错误,这次是在一行jquery-1.9.1.min.js本身:

return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : b.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), b.makeArray(e, this))

如果这有任何改变,我将从http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js加载 jQuery

更新:

相同的代码会在 Firefox 中导致类似的错误:

Permission denied to access property 'nodeType'

在 Chrome 中一切正常。

4

1 回答 1

1

用于$("p, td, div, span").children().addBack().not("iframe").contents()不在.contents()iframe 上应用。

顺便说一句,如果您只想使用 获取内容节点nodeType == 3,您可能宁愿只使用.children().

于 2013-02-24T20:03:11.160 回答