雖然我讀過關於這個問題的很多職位嵌套的childNodes的文本,我無法得到期望的結果。
我的目標是在純JavaScript中獲取嵌套子節點的文本。 與此代碼獲取JavaScript
function GetChildNodes() {
var container = document.getElementById ("find");
for (var i = 0; i < container.childNodes.length; i++) {
var child = container.childNodes[i];
if (child.nodeType == 3) {
var str=child.nodeValue
console.log(str)
}
else {
if (child.nodeType == 1) {
var str=child.childNodes[0].nodeValue
console.log(str)
}
}
}
}
GetChildNodes()
我可以得到文本,如果HTML是
<div id="find">
aaa
<div>aaa</div>
<div>aaa</div>
<div>aaa</div>
<div>aaa</div>
</div>
但是像這樣
<div id="find">
aaa
<div>aaa<div>bbb</div></div>
<div>aaa<div>bbb</div></div>
<div>aaa</div>
<div>aaa</div>
</div>
HTML代碼...是錯誤的。
您能否給我一個解決方案?
:我知道也許我要求太多,但如何將我去反正改變的標記,包含b,文本的文本感謝你的代碼是真棒? – Devima
而不是返回'n.data',回'N'這樣你就可以循環再用你的測試/動作,或執行上'N'立即 –
你的行動:再次感謝你和你的想法,我可以這樣解決: 函數GetChildNodes(容器)var child = container.childNodes [i];函數返回值(容器){var i = 0; i - 1){child.nodeValue = '某些其他文本'} \t \t \t \t \t} } \t} \t recursor(容器) } var container = document.getElementById(「find」); GetChildNodes(容器) –
Devima