.find(“tagname”)空结果(偶尔在Chrome中有效)

时间:2013-06-11 14:12:33

标签: javascript jquery cross-browser

我需要一些JavaScript的帮助。我有一个只能在Chrome中正确显示的页面。这是因为我只为Chrome开发,因为它非常容易使用并且可以避免很多错误。

我使用JQuery来获取XML对象$ xmlresponse。它有一个像这样的结构:

<evelope:specificbody> 
<firstlevel:multimediaobjects>
<secondlevel:thisIsWhatIWant>
TextNode that I need
</secondlevel:thisIsWhatIWant>
<secondlevel:thisIsWhatIWant>
Another TextNode
</secondlevel:thisIsWhatIWant>
</firstlevel:multimediaobjects>
</evelope:specificbody>

$($xmlresponse).find("*")正确传递所有节点。但是一旦我想用jQuery解决节点,我就没有得到任何结果。即使我的页面显示在Chrome中,我也无法重现

$($xmlresponse).find("thisIsWhatIWant")
results in []

向我提供所有节点。

感谢帮助

1 个答案:

答案 0 :(得分:0)

您忘记包含命名空间:

$( $xmlresponse ).find("secondlevel\\:thisIsWhatIWant")

\\将逃脱冒号。

但最好是通过nodeName

$( $xmlresponse ).find( "[nodeName=secondlevel:thisIsWhatIWant]" )