在jQuery中用链接替换文本

在jQuery中用链接替换文本,jquery,string,replace,Jquery,String,Replace,我试图用我自己动态创建的元素替换大型HTML文档中的一小部分文本 文本可能是大量的文本、html、图像等等,我想要的是找到某个字符串的第一个(或全部)位置,并用我使用$(“”)创建的元素替换它 使用简单的text.replace('string',$('')不起作用(剩下的是[object object],而不是我想要的实际的) 我之所以不直接注入HTML,是因为我想保留与我正在创建的对象相关的所有绑定。用自定义ID进行替换,然后在更改HTML后将绑定附加到ID,这似乎有点脏 谢谢你的帮助!:)

我试图用我自己动态创建的元素替换大型HTML文档中的一小部分文本

文本可能是大量的文本、html、图像等等,我想要的是找到某个字符串的第一个(或全部)位置,并用我使用
$(“”)
创建的元素替换它

使用简单的
text.replace('string',$('')不起作用(剩下的是
[object object]
,而不是我想要的实际的

我之所以不直接注入HTML,是因为我想保留与我正在创建的对象相关的所有绑定。用自定义ID进行替换,然后在更改HTML后将绑定附加到ID,这似乎有点脏


谢谢你的帮助!:)

没那么容易。一旦选择了
text()
,您就得到了一个没有元素节点信息的简单字符串,因此对其进行替换根本不会改变HTML DOM

您需要做的是逐个搜索树中的每个文本节点。遗憾的是,jQuery并没有为处理文本节点提供太多帮助

您可以从中使用
findText
功能。这种用法会将每个“字符串”替换为空的


(如果您需要跨不同的文本节点和元素查找文本,这是一个简单的方法。)

这并不容易。一旦选择了
text()
,您就得到了一个没有元素节点信息的简单字符串,因此对其进行替换根本不会改变HTML DOM

您需要做的是逐个搜索树中的每个文本节点。遗憾的是,jQuery并没有为处理文本节点提供太多帮助

您可以从中使用
findText
功能。这种用法会将每个“字符串”替换为空的


(如果您需要在不同的文本节点和元素中查找文本,这是一个简单的方法。)

您很可能需要突出显示插件,如果您愿意,只需修改以包装链接即可


您很可能想要突出显示插件,如果愿意,只需修改以包装链接即可

了解一个简单的解决方案

text.replace('the string', '<span></span>');
text.replace('字符串','');
如果需要更详细的元素,则必须将元素附加到所需的位置

$("<span/>").appendTo(element);
$(“”)。附加到(元素);
与您的示例一样,它将文本替换为
object.toString()

,以获得一个简单的解决方案

text.replace('the string', '<span></span>');
text.replace('字符串','');
如果需要更详细的元素,则必须将元素附加到所需的位置

$("<span/>").appendTo(element);
$(“”)。附加到(元素);

在您的示例中,它将文本替换为
object.toString()

,如果您接受更多关于其他问题的内容,您可能会收到更多答案。我在我的广告网站上也做了同样的事情。请明天打电话联系我ayaz@amcoitsystems.com获取有关如何将关键字替换为Web站点上的链接的详细信息,如果您希望在网站上看到用链接替换word以及将鼠标光标放在该文本(现在是链接)上时所看到的内容显示了一则广告。如果你接受了更多关于其他问题的答案,你可能会收到更多答案。我在我的广告网站上也做了同样的事情。请明天打电话联系我ayaz@amcoitsystems.com获取有关如何将关键字替换为Web站点上的链接的详细信息,如果您希望在网站上看到用链接替换word以及将鼠标光标放在该文本(现在是链接)上时所看到的内容显示一个广告。另外,如果您想替换所有字符串,而不仅仅是第一次出现,那么您需要指定全局变量,如text.replace('the string','g');对不起,我的意思是“仅全局变量”而不是“全局变量”。另外,如果要替换所有字符串,而不是第一次出现,则需要指定全局变量,如text.replace('the string','g');很抱歉,我的意思是只使用全局变量而不是全局变量。谢谢,这正是我想要的,实际上使用了我想要避免的相同技术(拆分文本、添加对象、添加其余文本)。谢谢:)想了想,很高兴我能帮忙。谢谢,这正是我的想法,实际上使用了我想要避免的相同技术(拆分文本、添加对象、添加其余文本)。谢谢:)想了想,很高兴我能帮上忙。