我正在查询rss feed并找回一些xml。它看起来像这样:
<channel>
<item>
<description><![CDATA[<h5>18 Jun 2013: Zambia 2013</h5>
<p>Welcome Home! <br />Return to Cork Airport.</p>
<p><img src="http://thedomain.ie/images/pic.JPG" /></p>
]]>
</description>
</item>
</channel>
要获取描述标记,我会这样做:
$(data).find('item').each(function (index) {
description = $(this).find('description');
console.log('description is ');
console.log(description);
});
这很好用,我可以在chrome concole中看到找到描述标签。但是,当我尝试获取任何嵌套标记时,它永远不会找到它们。例如,要查找图像标记,我会这样做:
img = $(this).find('description img');
但是找不到图片标签。
标签也是如此。我做错了什么?
答案 0 :(得分:0)
您的description
标记包含一个CDATA块,用于隐藏解析器中的数据,因此不会将其解析为HTML。您可以使用以下方式将内容作为文本获取:
var descriptionAsText = $(this).find('description').text();
如果您想以HTML格式遍历内容,请转换为jQuery对象:
$(descriptionAsText).find('img')