Javascript 用于从标记中提取属性的jQuery表达式

Javascript 用于从标记中提取属性的jQuery表达式,javascript,jquery,Javascript,Jquery,对于文档,jquery表达式会给我什么['a','b'] 我正在处理的实际情况是列出html文档中使用的所有图像的数组(不是标记,而是图像的实际位置)。因此,期望的结果类似于[”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

对于文档
,jquery表达式会给我什么
['a','b']

我正在处理的实际情况是列出html文档中使用的所有图像的数组(不是标记,而是图像的实际位置)。因此,期望的结果类似于
[”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" />

我真的不想列出所有的
属性

var imageArray = [];
$('img').each(function() {
    imageArray.push($(this).attr('href'));
});
如果有帮助的话,这里有一个插件,如果您需要为不同的元素和属性执行此操作,它可以自动完成任务

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



var array = $('img').attrAsArray('src');
如果有帮助的话,这里有一个插件,如果您需要为不同的元素和属性执行此操作,它可以自动完成任务

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



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

您需要在末尾添加
.get()
,以返回一个数组。谢谢James,您说得对。我改用toArray,因为它看起来更清晰。您需要在末尾添加
.get()
,以返回数组。谢谢James,您是对的。我用toArray来代替它,因为它看起来更清晰一些。谢谢adeneo,但我正在寻找一个jQuery表达式来为我处理这一切,而不必迭代每个img元素。任何这样的表达式都会在内部迭代,但无论什么都会使你的船漂浮!我担心的不是迭代本身。这是在DSL中使用的,在DSL中,我希望尽可能避免使用直接js而支持jQuery。不要听太多,我们大多数人都希望尽可能避免使用jQuery?@Rocket-非常肯定;-)______谢谢adeneo,但我正在寻找一个jQuery表达式来为我处理这一切,而不必迭代每个img元素。任何这样的表达式都会在内部进行迭代,但不管什么都会让你的船漂浮!我担心的不是迭代本身。这是在DSL中使用的,在DSL中,我希望尽可能避免使用直接js而支持jQuery。不要听太多,我们大多数人都希望尽可能避免使用jQuery?@Rocket-非常肯定;-)______标记为应答,即使它不能完全通过仅使用jQuery获得数组。@Trindaz:“仅通过使用jQuery”。你这是什么意思
this.src
实际上比
$(this.attr('src')
更快。标记为answer,即使它不能完全通过仅使用jQuery获得数组。@Trindaz:“仅通过使用jQuery”。你这是什么意思
this.src
实际上比
$(this.attr('src')
快。
var imgs = $('img').map(function(){
    return this.src;
}).get();