如果某些没有标签的子节点,如何更改childNodes的innerHTML?

el *_*ude 4 html javascript innerhtml

这是我的问题的例子

<div onclick="this.childNodes(0).innerHTML='0';">
1<b>2</b>3<b>4</b>5
</div>
Run Code Online (Sandbox Code Playgroud)

如您所见,标记了两个子节点(" 2 "和" 4 "),其他是简单文本.问题是如何在不接触其他节点/文本的情况下更改某个div容器中标记和未标记节点(文本)的innerHTML?

I a*_*ica 6

基本上,你将使用data(text)属性用于文本节点(nodeType3)和innerHTML否则(小提琴):

<div onclick="this.childNodes[0][this.childNodes[0].nodeType === 3 ? 'data' : 'innerHTML'] = '0'">
1<b>2</b>3<b>4</b>5
</div>?
Run Code Online (Sandbox Code Playgroud)

[编辑]我真的厌倦了每个人都提供作为解决方案,而所需要的只是对基本概念的简单解释,例如:文本节点和元素节点具有不同的内容属性,即:datainnerHTML.