根据类别选择DIV ID

时间:2015-06-22 14:25:16

标签: javascript jquery

我需要选择并使用DIV的ID,但我不知道它的名称,所以我想搜索我知道的类。我该怎么办?我可以使用普通的JS或jQuery,并不重要。

我希望能够完全基于HA类来获取整个ID。示例div看起来像

<div class="HA" id="k2348382383838382133">

我能够让它发挥作用的唯一方法是,如果我使用正则表达式,我知道ID的前几个字符没有改变(现在),但将来可能会这样,我不会#39 ;我想冒风险。

var selectDivID = $('div[id^="k23"]');

3 个答案:

答案 0 :(得分:4)

使用attr()

$('.HA').each(function(){
    var selectDivID = $(this).attr('id'); // or this.id
});

$('.HA').each(function() {
  var selectDivID = $(this).attr('id');
  console.log(selectDivID);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div class="HA" id="k2348382383838382133"></div>
<div class="HA" id="k2344444444444444444"></div>
<div class="HA" id="k234543544545454454"></div>
<div class="HA" id="k2346787878778787878"></div>

答案 1 :(得分:2)

如果该课程只有一个div,您可以这样做:

var selectDivID = $('div.HA')[0].id;
console.log(selectDivID);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="HA" id="k2348382383838382133">

答案 2 :(得分:2)

如果您了解该课程,为什么不直接使用getElementsByClassName选择该元素?

var id = document.getElementsByClassName('HA').item(0).id;

当然,如果有更多项目(而不是null),您也可以迭代HTMLCollection

如果您必须声明它是div,并且如果您想要全部使用它们,请使用querySelectorAll代替:

var IDs = [];
Array.prototype.forEach.call(document.querySelectorAll('div.HA'),
                             function(item){ IDs.push(item.id) });
console.log(IDs);