是否可以用另一个短语替换HTML文档中的短语?我不确定这是否可以用JavaScript,但这是一个例子:
String thePhrase = "this is the phrase to replace";
String toReplace = "this is the phrase that replaces thePhrase";
replace(thePhrase, toReplace);
然后,这样的内容将搜索HTML文档,并用toReplace替换thePhrase。
感谢任何可以提供帮助的人。
答案 0 :(得分:1)
执行此操作的正确方法是递归遍历页面上的每个节点,从document.body
开始,每当您点击文本节点时,请替换那里的文本。
var findAndReplaceAllText = function(node, needle, replacement){
if(node.nodeName == 'SCRIPT') return; /* don't mess with script tags */
if(node.nodeType == 3) /* if node type is text, replace text */
node.nodeValue = node.nodeValue.replace(needle, replacement);
for(var i = node.childNodes.length; i--;) /* loop through all child nodes */
findAndReplaceAllText(node.childNodes[i], needle, replacement);
};
findAndReplaceAllText(document.body, /this/g, 'anything but that');
如果使用innerHTML
或jQuery的.html()
方法直接修改html,则它很有可能破坏引用这些元素的页面上的其他脚本,例如事件处理程序。所以,这是一种更好的方式。
无论如何,如果您需要这样做,那么您很可能以不正当的方式处理问题,并且应该尝试找到更好的方法来实现目标。
答案 1 :(得分:-3)
这里有一个如何使用p标签和jQuery来做到这一点的例子。希望它有所帮助
var thePhrase = "this is the phrase to replace";
var toReplace = "this is the phrase that replaces thePhrase";
$("p").each(function(){
var $this = $(this);
if( $this.html() == thePhrase) {
$this.html( toReplace );
}
});