首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery可以用作动态html解析器/节点替换实用程序吗?

jQuery可以用作动态html解析器/节点替换实用程序吗?
EN

Stack Overflow用户
提问于 2011-01-30 23:57:01
回答 1查看 177关注 0票数 1

我的每个帖子都有一个针对它们进行优化的不同关键字。我需要一个例程,它将接受post内容,并将我的关键字的第一个实例包装在强标记中。如果关键字(1)是元素属性集合(title、src、alt等)的一部分,我就不想修饰它。我不想装饰它,如果它在h1-6的标题标签中。

我知道有很多用于dom遍历和Html解析/替换的工具。jQuery能做到这一点吗?

谁能给出一些使用jQuery作为html解析器的例子?

EN

回答 1

Stack Overflow用户

发布于 2011-01-31 08:26:18

这可能就是你要找的。你不应该直接解析HTML。最好遍历DOM并查找文本节点。

代码语言:javascript
复制
var word = "foo";

var nodes = $("postSelector").find("*"); // get all elements

for (var i = 0; i < nodes.length; i++) {
    // get the node
    var node = nodes.eq(i);
    // if the tagName is a h1-h6 then continue
    if (/h\d/.test(node[0].tagName)) continue;
    if (node.text().indexOf(word) > -1) {
         // handle the textual replacement.
         var text = node.text();
         text.replace(word, "<strong>" + word + "</strong>");
         node.html(text);
    }
}

如果将html嵌套在单词中,这将导致问题。

<p> fo <span> o </span> </p>

然而,这是一个完全不同的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4843825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档