【问题标题】:use jquery to parse xml get child of object使用 jquery 解析 xml 获取对象的子对象
【发布时间】:2016-07-23 07:22:29
【问题描述】:

使用 jQ 我正在渲染一个有效的 RSS 提要:

<script type="text/javascript">
jQuery(function($jQ) {
$jQ.get('URL', function(data) {
   var $jQxml = $jQ(data);
   $jQxml.find("item").each(function() {
    var $jQthis = $jQ(this),
        item = {
            title: $jQthis.find("title").text(),
            link: $jQthis.find("link").text(),
            image: $jQthis.find("description").text()
    }
    console.log(item)
    });
   });
 });

我想获取图像的 src,它是描述的子 p 的子图像:

<description><![CDATA[<p><img src="image.jpg"/></p>
<p>The post </p>
]]></description>

我试过了

jQthis.find("description").children("img").attr("src");

运气不好。有关如何获取此输出的 img src 的任何想法?

提前致谢。

【问题讨论】:

  • 您尝试过的示例需要前导 $ 并在 src 周围引用;这可能是个问题吗?
  • 谢谢,但没有解决。我也尝试过 jQthis.find("description").children("p").text();它也不输出任何值

标签: jquery xml rss


【解决方案1】:

你在 CDATA 中有 HTML,所以你必须首先在你的 XML 字符串上使用 jQuery 的parseXML(),然后捕获description 里面的文本,也就是那个 HTML 字符串,然后你必须把那个 HTML 当作一个新的 jQuery 对象。

试试:

var $jQxml = $jQ($jQ.parseXML(data));
var $description = $jQ($jQxml.find('description').text()); 
// then:
$description.find('img').attr('src');

【讨论】:

    猜你喜欢
    • 2011-09-07
    • 2012-01-13
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 2012-09-16
    相关资源
    最近更新 更多