簡體   English   中英

使用javascript查找未標記的元素

[英]Finding untagged elements with javascript

假設我有一些帶有未標記內容的HTML,例如:

<html>
<body>
<p>text in a tag</p>
other text outside any tag
</body>
</html>

我怎樣才能找到未標記的元素? 甚至document.getElementsByTagName('*')也不包含未標記的元素。

TIA

就你的情況而言,你可以做到

document.getElementById('body').lastChild

但是在更一般的情況下,您需要循環訪問子項並進行檢查

a = document.getElementById('body').lastChild

console.log(a.nodeType) // 3
console.log(a.nodeName) // #text

以下是jsfiddle的示例

我建議使用.nodeType屬性,該屬性將返回一個整數值,具體取決於返回的節點類型。 文本節點返回值3.元素節點返回值1,但<p>的文本計為nodeType為3的自己的節點。

考慮到這一點,如果您正在查找作為您的body元素的子元素的textNodes,則可以使用以下行中的內容。

var nodes = document.getElementByTagName('body').childNodes
for (i=0; i < nodes.length; i++)
{
 if(nodes.childNode[i].nodeType == 3)
 {
 //THIS NODE IS A TEXT NODE OF THE BODY ELEMENT
 //DO WHAT YOU NEED WITH IT
 }
}

MDN nodeType文檔

暫無
暫無

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

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