簡體   English   中英

Vanilla JavaScript For Loop推送名稱數組

[英]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]);
}

http://jsfiddle.net/joybroto/3d9qz/7/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM