2016-01-15 17 views
0

得到innerContent我有這樣的HTML代碼 我需要從類來獲得=「元素」 innerContent與啓動這樣<th>Element 1</th>如何從元素

<table class="element"> 
    <thead> 
     <th>Head of Element 1</th> 
     <th>Head of Element 2</th> 
    </thead> 
    <tbody> 
     <tr> 
      <th> Element 1</th> 
      <th> Element 2</th> 
     </tr> 
    </tbody> 
</table> 

我修整得到這樣的:

var get = window.document.getElementsByClassName('element')[0].getElementsByTagName('th').textContent; 
alert(get) 
+1

你檢查你的控制檯:

根據利用少一點記憶費利克斯·克林的反應更高級的版本?你會看到這個:'window.document.getElementsByClassName(...)[1]是未定義的'。 –

+0

預期結果是什麼/你得到了什麼結果? – dgiugg

+1

'getElementsByTagName'返回節點的**列表**(getElement ** s ** ByTagName)。只要使用'document.querySelector('。element th')'。 –

回答

0

抓住了第一個</th>

var get = window.document.getElementsByClassName('element')[0].getElementsByTagName('th')[0].textContent; 
console.log(get) 

循環遍歷元素:

var get = window.document.getElementsByClassName('element')[0].getElementsByTagName('th'); 

for(var i=0; i< get.length; i++) console.log(get[i].textContent) 
+0

謝謝你根據需要工作 – Viktor

1

首先,Javascript使用0計數。這意味着第一個任務實際上是數字0,1是2,2是3,依此類推......

所以我們必須在這裏的頂部定位正確的元素。由於這裏只有一個名爲'element'的小孩,因此您需要將其作爲第一項。

但是,如果您已經知道這一點。而這實際上是第二個子元素。當心,因爲它可能針對錯誤的元素。

var elements = window.document.getElementsByClassName('element')[0].getElementsByTagName('th'); 

for(i = 0; i < elements.length; i++){ 
    elements[i].textContent; 
} 

而且,由於有超過一個子元素,你將不得不通過他們各自整理。實際訪問他們的內容。

這由for循環表示。

希望這會有所幫助!

UPDATE:

var elements = document.querySelectorAll('.element th'); 
elements.map(// Function or code to execute);