タグなしのコンテンツを含むHTMLがあると仮定します。例:
<html>
<body>
<p>text in a tag</p>
other text outside any tag
</body>
</html>
タグなしの要素に到達するにはどうすればよいですか?document.getElementsByTagName('*')でさえ、タグなし要素を含んでいません。
TIA
タグなしのコンテンツを含む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
}
}