0

我正在查询一个 rss 提要并取回一些 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');

但是永远找不到图像标签。对于

标签。我做错了什么?

4

1 回答 1

0

您的description标签包含一个 CDATA 块,该块旨在向解析器隐藏数据,因此它不会被解析为 HTML。您可以使用以下命令将内容作为文本获取:

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

如果您想将内容作为 HTML 进行遍历,请转换为 jQuery 对象,如下所示:

$(descriptionAsText).find('img')
于 2013-11-05T14:00:22.373 回答