无法使用Jquery在XML中找到嵌套标记

时间:2013-11-05 13:47:03

标签: jquery xml

我正在查询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');

但是找不到图片标签。

标签也是如此。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的description标记包含一个CDATA块,用于隐藏解析器中的数据,因此不会将其解析为HTML。您可以使用以下方式将内容作为文本获取:

var descriptionAsText = $(this).find('description').text();

如果您想以HTML格式遍历内容,请转换为jQuery对象:

$(descriptionAsText).find('img')