jQuery:用jQuery查找并替换更清晰的语法?和高级查找/替换功能?

时间:2009-11-02 22:54:42

标签: javascript jquery

所以我得到了这段代码:

$(document).ready(function () {
     var replacementDoneIn = $("body").html();
     var regExMatch = /premier(( {1,5}?)?co(mpany)?([ |\.])?)?/ig;
     var replaceWith = "Nikon";
     var resultSet = replacementDoneIn.replace(regExMatch, replaceWith);
     $("body").html(resultSet);
});

这对我有用,但它不包括更强大和复杂的情况。

我想借助jQuery扩展查找/替换功能。要正确使用body元素内部文本的查找/替换,不包括任何html元素和任何属性及其值。

note :不完全确定jQuery text()函数如何遍历应用它的元素的子元素。

注意:据我所知,我可以通过$("*")遍历html中的所有元素,但这会为此类脚本带来任何问题

所以,如果你能引导我走上正确的道路,那将非常感激。已经解决这个问题的资源链接,您的建议都可以使用。因为某些原因我的脑袋只产生复杂的解决方案,所以我想知道可能有更简单的方法。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

检查我对这个问题的回答:

我发布了一个简单的函数,遍历文本节点,替换其内容,而不会影响标记或JavaScript连接的事件处理程序。

答案 1 :(得分:0)

如果我正确理解您的问题,那么使用text()将是最佳选择。它仅包括元素的文本节点和该元素的任何后代。这样做

(document.body).text();

将为您提供文档正文中包含的所有元素的文本。使用正则表达式可以实现您的需要。