[英]Vanilla JavaScript For Loop to push array of names
模擬標記:
<div class="post">
<a name="1234"></a>
</div>
記住這是模擬標記,當然上面還有更多的html,這是父.post
的第一個標記。
這是我的代碼:
var pid = [];
var post = document.getElementsByClassName('post');
for(var i=0;i<post.length;i++){
var postId = post[i].getElementsByTagName('a')[0].getAttributeNode('name');
pid.push(postId);
}
alert(pid);
我一直在不斷地,,,,,,
我已經嘗試過.getAttribute
和.getAttributeNode
我在這里做錯什么了嗎? 我正在嘗試創建一個“名稱”數組,以便稍后在使用ID規范時對它們進行分類。
有什么建議謝謝!
您所做的一切都正確,但是您忘記了.value
:
var pid = [];
var post = document.getElementsByClassName('post');
for(var i=0;i<post.length;i++){
var postId = post[i].getElementsByTagName('a')[0].getAttributeNode('name').value;
pid.push(postId);
}
alert(pid);
您可以使用湯姆提到的.value,也可以使用.getAttribute('name')。
您需要進一步修改代碼,因為它可以在.post類中使用多個錨:
<div class="post">
<a name="1234"></a>
<a name="5678"></a>
<a name="9123"></a>
</div>
JavaScript的:
var pid = [];
var post = document.getElementsByClassName('post');
for(var i=0;i<post.length;i++){
var anchors = post[i].getElementsByTagName('a');
for(var j=0; j<anchors.length; j++){
var name = anchors[j].getAttribute('name');
pid.push(name);
}
}
for(var i=0;i<pid.length;i++){
alert(pid[i]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.