JQuery Selector重写

时间:2012-11-07 19:32:21

标签: javascript jquery underscore.js

我到处都做这种事情,我正在寻找最有效的(计算+语法)方式来执行:

ids =[]
$('tr.selectON td').each( function() { 
    var answer_query = $(this).attr('id');
    if ( answer_query !== undefined ) { 
        ids.push( answer_query ) 
    }   
});

我可以访问underscore.js,我怀疑它会有所帮助。

2 个答案:

答案 0 :(得分:10)

ids = $("tr.selectON td[id]").map(function() { return this.id; }).get();

文件:

获取具有id属性的元素 http://api.jquery.com/attribute-contains-prefix-selector/

过滤ID属性 http://api.jquery.com/map/

将结果转换为数组 http://api.jquery.com/get/

答案 1 :(得分:0)

你可以使它变得更简单,但不能说出JQuery的性能:

ids =[]
$('tr.selectON td[id^=""]').each( function() { 
        ids.push( this.id ) 
});

函数中的“this”已经是dom对象,因此您可以直接访问其id。