我想替换页面上的所有文本,例如:所有“Hello”到“Hi”
我正在使用
body.innerHTML = body.innerHTML.replace("Hello", "Hi");
我遇到了两个问题:
Hello
的类或ID(例如<div id="Hello"></div>
,然后会弄乱此代码)答案 0 :(得分:4)
因为这是特定于Chrome的,您不必担心旧版浏览器( cough IE),这听起来像是treeWalker的工作。有一个很好的例子说明如何使用它here。
答案 1 :(得分:1)
执行该innerHTML
事件会将所有挂钩到页面上元素的事件处理程序丢弃,因为您在那里执行的操作会破坏以前的元素,而用新的元素替换它们。
要做你想做的事,你必须走dom并更新文本节点的值(仅限)。在live copy中有一个示例,包含完整代码和this other answer here on Stack Overflow。你只需要改变handleText
函数正在做的事情,你就可以了。