#圖片如上,再貼下html結構
#<p class="second">web
<p class="third">javascript</p>
<p class="third">css
<p class="forth">css2.0</p>
<p class="forth">css3</p>
</p>
<p class="third">html</p>
5555
<p class="third">可视化</p>
555
</p>
假設我已經取到second這個最外面的大框
現在我想把裡面的“web
#”,“555
”(a),“5555
(b)」這裡面的匿名文字存入某個變數該怎麼做呢?
我試過了innerText
會取得到子節點裡的文字
用childNodes[0].nodeValue
只會取得到第一個文字節點
如果用if
判斷nodeType
是否為文字節點是否可行呢?
不知道有沒有更好的方法直接取得到目前框的文字而不取得子節點裡的文字~
ringa_lee2017-06-26 10:53:24
var t = document.getElementsByClassName('second')[0];
t.childNodes.forEach(function(v) {
if(v instanceof Text) {
console.log(v.data);
console.log(v.wholeText);
}
});
其中,文字節點為Text()
實例,用data
或wholeText
可以取到String
類型的文字。