div id的CSS选择器

时间:2013-04-06 18:17:31

标签: jquery

我正在尝试获取具有相同类名{id}的所有id的名称列表test-class

<div class="test-container">
    <div class="test-class" id="test-1">
        //some markup
    </div>
    <div class="test-class" id="test-2">
        //some markup
    </div>
</div>

当我知道他们拥有相同的班级名称时,如何获得test-1test-2的列表?

我尝试了这个但是没有用

var array = jQuery.makeArray($(".test-class").attr("id"));
console.log(array[0]); //test-1
console.log(array[1]); //undefined

似乎.attr只返回第一个id而不会捕获剩余的id。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:1)

您可以使用$.map函数:

var arr = $.map($(".test-class"), function(el, i) {return el.id});

console.log(arr[0]); //test-1
console.log(arr[1]); //test-2

FIDDLE

作为旁注,如果没有jQuery,这将很难做到:

var elems = document.getElementsByClassName('test-class'),
    arr   = [];

for (i=0; i<elems.length; i++) {
    arr.push(elems[i].id);
}

FIDDLE

答案 1 :(得分:0)

您可以使用$.each

进行循环播放
var ids = []

$.each($('div.test-class'), function(idx, el) {
    ids.push(el.id)
});