[英]How to check if an html element contains it's own text (contains textNode)
我要檢查html元素是否包含它自己的文本。
例子是
<div>Text<tag></tag>Text</div>
和<div>Text</div>
。
有些不適合的東西是 <div><tag></tag><p></p></div>
我的代碼段是
flag = false;
for ( var j = 0; j < item.childNodes.length; j ++){
if(item.childNodes[j].tagName == ""){
flag = true;
}
}
但這不起作用,有人可以幫我嗎?
我所期望的是
<div>Text<tag></tag>Text</div>
的子節點是Text
, <tag></tag>
和Text
。 但事實並非如此。
如果要檢測文本節點子節點,請檢查nodeType是否為TEXT_NODE而不是tagName是否為空字符串:
var flag = Array.from(item.childNodes).some(child => child.nodeType === child.TEXT_NODE);
您可以結合使用String.trim()
和元素的.textContent
屬性。
HTML
<div>
<p>hello</p>
</div>
JS
String.trim(document.querySelector('div').textContent); //"hello"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.