我需要选择并使用DIV的ID,但我不知道它的名称,所以我想搜索我知道的类。我该怎么办?我可以使用普通的JS或jQuery,并不重要。
我希望能够完全基于HA
类来获取整个ID。示例div看起来像
<div class="HA" id="k2348382383838382133">
我能够让它发挥作用的唯一方法是,如果我使用正则表达式,我知道ID的前几个字符没有改变(现在),但将来可能会这样,我不会#39 ;我想冒风险。
var selectDivID = $('div[id^="k23"]');
答案 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);