我正在使用jQuery来解析RSS提要。每个<item>
内都有一个名称空间元素,如<content:encoded>
我想选择。我如何在jQuery中选择它?jQuery解析RSS和命名空间元素,如<content:encoded>
$(xml).find('item') works but $(xml).find('item content') does not.
我正在使用jQuery来解析RSS提要。每个<item>
内都有一个名称空间元素,如<content:encoded>
我想选择。我如何在jQuery中选择它?jQuery解析RSS和命名空间元素,如<content:encoded>
$(xml).find('item') works but $(xml).find('item content') does not.
您是否正在通过Ajax加载xml?然后,确保服务器将内容类型设置为“text/xml”而不是“text/html”。
还要确保你想要的元素的标签名称确实是内容而不是别的东西(如content:encoded)。在这种情况下,尝试:
.find('item content\\:encoded')?
特殊字符,如:需要在jQuery选择进行转义。
我检查的第一件事。它是feed.xml,所以将它作为XML文件读取。 问题是标记名称是content:encoded。 – Corey 2009-10-13 11:59:22
尝试逃避:然后。 – kgiannakakis 2009-10-13 12:17:02
.find('encoded')为我工作... – 2012-03-12 20:56:39
这是我从一个搜索得到
jQuery选择不 名称空间感知,所以他们只用 的getElementsByTagName(而不是 getElementsByTagNameNS)来检索他们的节点名称属性 元素(而比localName和 namespaceURI)。
看起来你需要使用document.getElementsByTagNameNS(namespace, tagname)
我知道这个线程是相当老做定期的js但它是用jQuery搜索这个当谷歌出现的第一个。搜索的最简单方法是:
希望能帮助别人。我花了几个小时试图找出访问这些标签的简单方法。
它已经有一段时间了,但是这对我来说很有帮助。谢谢! – Jimmy 2016-05-04 02:48:29
.find('[nodeName="content:encoded"]')
它在Chrome和一些较旧的浏览器中工作正常。
.find('item encoded')
将工作与'内容'(命名空间)部分。
您可以发布一个示例rss代码,并告诉我们您尝试选择哪些项目? – jantimon 2009-10-13 11:40:47
http://stackoverflow.com/questions/9451202/trying-to-get-contentencoded-with-jfeed – user3067992 2013-12-04 23:14:13