从xml文件中获取所有img标签(jquery)

时间:2011-11-02 15:59:13

标签: jquery xml

我有以下xml文件

<gallery>
<album title="test" description="test" lgPath="/images/commphotos/">
    <img src="1130975173.jpg" />
    <img src="1475634985E.jpg" />
    <img src="1889677107.jpg" />
    <img src="1356256436.jpg" />
    <img src="834682273.jpg" />

</album>
</gallery>

我一直在尝试使用jquery读取它来获取每个img标记。 这是最好的方法吗?

3 个答案:

答案 0 :(得分:2)

使用.map()函数,您可以轻松地将这些src的所有img属性转换为Javascript数组。当然你也可以使用.each(),但这种方式更优雅。

var srcArray = $(xml).find('img').map(function () {
    return this.src;
}).get();

jsFiddle Demo

在我的示例中,.get()用于从返回的jQuery对象创建一个简单数组。

答案 1 :(得分:1)

只需将XML文档视为任何其他文档:

$(xml).find('img');

更新:这将为您提供一个包含所有标签作为DOM元素的jQuery对象。如果你想要一个标签数组作为字符串,它会变得更复杂:

var tarr = [];
$(xml).find('img').each(function() {
    tarr.push( $(this).clone().appendTo('<div/>').parent().html() );
});

仅获取src属性:

var tarr = [];
$(xml).find('img').each(function() {
    tarr.push( $(this).attr('src') );
});

答案 2 :(得分:-1)

$(XML).find( 'IMG')。ATTR( 'SRC')