我需要選擇標題是在div
通過h2
包裹着,所以我做這樣的事情this.getElementsByTagName('h2')
哪裏,這是當前的div中是H2 - 返回當前h2
元素,但是當我試圖讓innerHTML
或innerText
它返回null 。我究竟做錯了什麼?如何通過元素中的標籤名稱選擇文本?
2
A
回答
3
它返回當前的h2元素,但是當我試圖獲取innerHTML或innerText時,它返回null。我究竟做錯了什麼?
getElementsByTagName
返回一個NodeList
,而不是一個元素。名單沒有innerHTML
,但它的每一個元素確實,例如:
var list = this.getElementsByTagName('h2');
if (list[0]) {
title = list[0].innerHTML;
}
或者如果你肯定,它會存在:
title = this.getElementsByTagName('h2')[0].innerHTML;
...但如果沒有發現h2,將會拋出異常。
1
否,this.getElementsByTagName('h2')
返回元件與標籤名h2
陣列。
你必須遍歷數組並訪問要正確的元素。
1
兩件事情:
你應該捕捉真實的
getElementsByTagName()
返回的節點列表的第一個元素:var h2 = this.getElementsByTagName('h2')[0];
不同的瀏覽器使用不同的屬性來檢索標籤內容:
var title = h2.textContent || h2.innerText || null;
0
是的,你做了一個小錯誤。因爲,this.getElementByTagName('h2')
將返回(標籤)的列表。
既然是你的標籤是第一要素爲[0]
可以使用
var v= this.getElementsByTagName('h2');
var yourdata=v[0].innerHTML;
0
至於其他的答案說明的getElementsByTagName返回一個數組。
另一種選擇是使用querySelector(僅現代瀏覽器的支持,以便檢查您需要支持第一什麼的)
此頁上運行querySelector給出如下: -
window.document.querySelector('h1').innerHTML //#>
"<a href="https://stackoverflow.com/questions/16516643/how-to-select-text-by-tag-name-in-element" class="question-hyperlink">How to select text by tag name in element?</a>"
相關問題
- 1. 通過與特定文本標記名稱選擇元素 - 硒
- 2. 如何通過標籤名稱只在指定的div內選擇元素
- 3. 通過標籤名稱刪除元素
- 4. 如何通過其標籤名稱獲取ListBox中的元素?
- 5. 如何通過標籤名稱在Watin中查找元素?
- 6. 如何通過標籤名稱與其中的所有元素刪除元素
- 7. 如何使用Jquery選擇器基於標籤名稱選擇XML元素?
- 8. 通過JavaScript中的標籤名稱獲取多個元素?
- 9. 如何選擇元素im:名稱
- 10. 通過類名和文本查找元素的選擇器
- 11. 通過標籤名稱Drone.io篩選
- 12. 通過忽略div標籤的內部元素來選擇文本javascript
- 13. 通過標記名稱刪除元素
- 14. 如何通過顯示的文本選擇元素c#selenium
- 15. 如何通過jQuery中的類名選擇一個子元素?
- 16. 如何在Groovy中通過標籤名稱查找所有XML元素?
- 17. 操作腳本在標籤名稱上選擇帶':'符號的XML元素
- 18. 如何在VBA中使用MSXML通過標籤名稱提取單個HTML元素的文本?
- 19. 如何獲取頁面標題切換名稱通過在html中選擇的jQuery UI標籤選擇
- 20. Cheerio:如何通過文本內容選擇元素?
- 21. 如何使用jquery通過指定的標籤名稱獲取父元素?
- 22. 如何通過標籤名稱刪除畫布上的wpf元素?
- 23. 通過其第一個子元素的名稱選擇HTML元素
- 24. 如何通過給定的元素名稱獲取pvob名稱?
- 25. 通過類名稱問題選擇元素
- 26. 通過名稱選擇硒元素與parantheses?
- 27. VBA通過屬性名稱選擇XML元素val
- 28. 如何通過元素id在CSS中隱藏元素標籤?
- 29. 如何通過JavaScript的元素名稱獲取子元素?
- 30. 如何通過根標籤名稱過濾SVG/XML文檔?
所以我認爲最好使用'jQuery(this).find('h2')。文字()',因爲它已經包括在內...... – Kin 2013-05-13 07:30:15
@Kirix:呃,是的。你沒有說你正在使用jQuery。 :-) – 2013-05-13 07:36:20
是的,但我試圖達到最佳性能,所以我可以使用疼痛js。 – Kin 2013-05-13 10:55:22