直接附上代码
<p id="p_big">
改变本层,不改变里面的,可以使用jq
<p id="p1">
例如:改变我,但不改变 #p1内的其他元素的值
(内层元素数量,层数不确定)
<p id="hyt">
<span id="span_1">content</span>
<span id="span_2">content</span>
</p>
</p>
<p id="p3">
例如这个 就有很多层了
<p id="hyt1">
<span id="span_11">content</span>
<span id="span_21">content</span>
<p>2
<span>
1
</span>
<p>3
<p>2
<span>55555</span>
<p>3</p>
</p>
</p>
</p>
</p>
</p>
<p>TODO <span>content</span> </p>
</p>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
最好和规范的方式是:
把文字放到相应标签里面,处理快捷效率也高。先转成字符串,然后正则,再转回去。这样有点麻烦。
还是建议写规范点,不然后续修改会很麻烦
如果你一定要满足这个变态要求的话,只能每次更改时先把p1内的所有内容取出,然后用正则去匹配替换掉需要替换的内容。。
最简单的方法就是用个span标签包裹内容,每次替换span标签内的内容就OK了。
先明确一个问题:文本只会位于一处,还是分散在各个元素之间?
是这种:
还是这种?
来了!
纯文本也是节点 要用原生js取 而且不好用选择器
文字本身也是一个父节点.childNodes数组中的节点。
在现代浏览器中,访问节点本身.textContent属性即可。
在老浏览器里我忘了,查一下。再不济用.replaceChild(document.createTextNode,)总是可以的。
说这样不行的,能给出你的代码吗?