jQuery表达式从标签中提取属性

时间:2012-05-03 18:24:00

标签: javascript jquery

jquery表达式会为['a','b']提供<tag att1='a' /><tag att1='b' />个{。}}。

我正在处理的实际情况是列出一个html doc中使用的所有图像的数组(不是标签,而是图像的实际位置)。因此,对于包含以下代码段的文档,所需的结果将类似于["http://mywebsite.com/path_to_image_1.jpg", ...]

<img src="http://mywebsite.com/path_to_image_1.jpg" />
<img src="http://mywebsite.com/path_to_image_2.jpg" />

我真的不想列出所有<img>代码,然后手动迭代以获取src属性。

3 个答案:

答案 0 :(得分:3)

var array = $('img').map(function() { return this.src; }).toArray();

如果它有帮助,这里有一个插件可以自动完成任务,如果你需要为不同的元素和属性做这个。

(function($) {
    $.fn.attrAsArray = function(attr) {
        return this.map(function() { return $(this).attr(attr); }).toArray();
    };
})(jQuery);



var array = $('img').attrAsArray('src');

答案 1 :(得分:2)

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

答案 2 :(得分:1)

var imageArray = [];
$('img').each(function() {
    imageArray.push($(this).attr('href'));
});