function storeid(){
var className = document.getElementsByClassName('Jicon');
var classnameCount = className.length;
var IdStore = new Array();
for(var j = 0; j < classnameCount; j++){
IdStore = classnameCount.id[j];
}
}
我的目的是获取具有特定类名的所有元素的id并将它们存储在数组中。
答案 0 :(得分:4)
您将获得IdStore数组中的所有ID。
function storeid(){
var className = document.getElementsByClassName('Jicon');
var classnameCount = className.length;
var IdStore = new Array();
for(var j = 0; j < classnameCount; j++){
debugger;
IdStore.push(className[j].id);
}
alert(IdStore.length);
}
storeid();
&#13;
<div class="Jicon" id="displayImage1">image1</div>
<div class="Jicon" id="displayImage2">image2</div>
<div class="Jicon" id="displayImage3">image3</div>
<div class="Jicon" id="displayImage4">image4</div>
&#13;
答案 1 :(得分:0)
您需要进行以下几项更改:
您必须使用className
作为查询返回的实际元素数组getElementsByClassName()
您必须使用.push()
将项目添加到数组中
for(var j = 0; j < classnameCount; j++){
IdStore.push(className[j].id); // use className instead of classnameCount
}
答案 2 :(得分:0)
function storeid(){
var className = document.getElementsByClassName('Jicon');
return className.map(function(cur){
return cur.id
});
}
document.write( JSON.stringify(storeid()) )
&#13;
<div class="Jicon" id="displayImage1">image1</div>
<div class="Jicon" id="displayImage2">image2</div>
<div class="Jicon" id="displayImage3">image3</div>
<div class="Jicon" id="displayImage4">image4</div>
&#13;
答案 3 :(得分:0)
function storeid(){
var className = document.getElementsByClassName('Jicon');
var classnameCount = className.length;
var IdStore = new Array();
for(var j = 0; j < classnameCount; j++){
IdStore[j] = className[j].id;
}
alert(IdStore.length);
}
这里是你的代码。瞧! 注意:删除代码中的警报。
答案 4 :(得分:0)
我更喜欢querySelectorAll来处理这类事情,因为getElementsByClassName返回一个实时列表,如果你用该类添加/删除元素,这可能会搞乱其他逻辑。
ArrayList