0

我正在尝试获取具有相同类名的所有 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-1,如何获取它们的列表?test-2

我试过了,但没有用

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

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

4

2 回答 2

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

小提琴

作为旁注,如果没有 jQuery,这也不难做到:

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

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

小提琴

于 2013-04-06T18:18:41.953 回答
0

您可以循环使用$.each

var ids = []

$.each($('div.test-class'), function(idx, el) {
    ids.push(el.id)
});
于 2013-04-06T18:19:22.197 回答