jquery:找到一个字符串并将其包装在标签中?

我有这个:

我需要做一个等效的.find()但是对于字符串"click here"而不是节点,我需要将它包装在标签中。

什么是jquery的最佳方法?

不要使用HTML字符串黑客。 想象一下如果你试图用标签替换...会发生什么……大量破坏标记。 这只是问题的开始。

相反,迭代要检查的文档部分中的文本节点,查找文本匹配并使用DOM样式方法插入新链接。

jQuery在这里并没有真正帮助你,因为它没有处理文本节点的function。 相反,使用类似此问题的findText()函数,并使用splitText拆分文本节点:

 findText($('#fancy_hover')[0], /\bClick here\b/gi, function(node, match) { node.splitText(match.index+match[0].length); var link= document.createElement('a'); link.href= 'http://www.example.com/'; link.appendChild(node.splitText(match.index)); node.parentNode.insertBefore(link, node.nextSibling); });