当前位置 : 主页 > 网络推广 > seo >

检索jQuery集合元素的数据属性值

来源:互联网 收集:自由互联 发布时间:2021-06-16
这适用于第一场比赛: var attributeValue = $({selector}).data("myAttribute"); 但是如果我想获取所有元素选择器匹配的值,我会执行以下操作: var attributes = [];$.each($({selector})), function(k,v) { attribut
这适用于第一场比赛:

var attributeValue = $({selector}).data("myAttribute");

但是如果我想获取所有元素选择器匹配的值,我会执行以下操作:

var attributes = [];
$.each($({selector})), function(k,v) { attributes.push($(v).data("myAttribute")); });

这感觉很愚蠢.是否有更简单的方法来获取所有元素的数据?

我不认为有一种内置的方法来制作你想要的数组.但是你可以使用$().map()来简化代码.

var attributes = $({selector}).map( function( i, element ) {
    return $(element).data( 'myAttribute' );
});

或者,如果这可能在多个地方使用,您可以将其设为插件:

$.fn.dataArray = function( name ) {
    return this.map( function( i, element ) {
        return $(element).data( name );
    });
};

并使用这个非常简单的代码调用它:

var attributes = $({selector}).dataArray( 'myAttribute' );
网友评论