2015-10-19 27 views
0

我有一個div塊數組,我嘗試訪問每個人的「time」標記的innerHTML。我怎樣才能訪問這個值?使用javascript訪問數組項item屬性值

<div class="review-full-review-single-review-wrap"> 
    <span class="review-full-timestamp"> 
     <time itemprop="datePublished" datetime="2015-07-29T11:25:47-07:00">July 29, 2015</time> 
    </span> 
    <p class="review-camo-rewards">Reward points earned</p> 
</div> 

<div class="review-full-review-single-review-wrap"> 
    <span class="review-full-timestamp"> 
     <time itemprop="datePublished" datetime="2015-07-29T11:25:47-07:00">July 1, 2015</time> 
    </span> 
    <p class="review-camo-rewards">Reward points earned</p> 
</div> 

回答

1

你可以這樣做:

var elems = document.getElementsByClassName("review-full-review-single-review-wrap") 
for (var i = 0; i < elems.length; i++) { 
    var timeElems = elems[i].getElementsByTagName("time"); 
    for (var j = 0; j < timeElems.length; j++) { 
     console.log(timeElems[j].innerHTML) 
    } 
} 

演示:http://jsfiddle.net/q311LcL3/

+0

謝謝。那正是我需要的。 – Jgunzblazin

1
var blocks = document.querySelectorAll("div time"); 

for (var i = 0; i < blocks.length; i++) { 
    alert(blocks[i].innerHTML); 
} 

http://jsfiddle.net/f9j6xzm0/

0

當你需要使用標記名來上班的最佳選擇是使用getElementsByTagName

var list = document.getElementsByTagName('time'); 
 
var dbg = document.getElementById('dbg'); 
 
    
 

 
dbg.innerHTML = "<hr> result : <br>" 
 

 
for(var i=0 ; i < list.length ; i++){ 
 
    
 
    var cur = list[i]; 
 
    
 
    console.log(cur.innerHTML); 
 
    
 
    dbg.innerHTML += '<br>' + cur.innerHTML; 
 
}
<div class="review-full-review-single-review-wrap"> 
 
    <span class="review-full-timestamp"> 
 
     <time itemprop="datePublished" datetime="2015-07-29T11:25:47-07:00">July 29, 2015</time> 
 
    </span> 
 
    <p class="review-camo-rewards">Reward points earned</p> 
 
</div> 
 

 
<div class="review-full-review-single-review-wrap"> 
 
    <span class="review-full-timestamp"> 
 
     <time itemprop="datePublished" datetime="2015-07-29T11:25:47-07:00">July 1, 2015</time> 
 
    </span> 
 
    <p class="review-camo-rewards">Reward points earned</p> 
 
</div> 
 

 
<div id='dbg'></div>

0

您也可以使用的forEach

var blocks = document.querySelectorAll(".review-full-timestamp time"); 
blocks.forEach(function (elem) { 
    alert(elem.textContent); 
}); 

有關時間元素注意的一點是,它沒有被廣泛被支持。 Ref:http://caniuse.com/#search=time