用于文本的jQuery搜索页面并对其进行更改,但如果已经存在则不进行更改

时间:2013-08-06 20:44:37

标签: jquery html replace

好的,一个有点令人困惑的问题 - 道歉。但是我在我的网站上有以下链接www.kateguestdesigns.com和www.kateguestdesigns.com/home

使用jQuery我想将www.kateguestdesigns.com的所有实例更改为www.kateguestdesigns.com/home。我目前正在使用此代码:

 $('body').html( $('body').html().replace(/kateguestdesigns.com/gi,'kateguestdesigns.com/home') );

搜索'kateguestdesigns.com'并将其更改为'kateguestdesigns.com/home。我的问题是它也将kateguestdesigns.com/home更改为kateguestdesigns.com/home/home。

通过仅将更改应用于kateguestdesigns.com,我有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您需要使用字符串锚点的结尾。试试这个:

$('body').html( $('body').html().replace(/kateguestdesigns.com$/gi,'kateguestdesigns.com/home') );

$告诉replace匹配在.com之后立即结束的字符串。请注意,这与/kateguestdesigns.com/不匹配,因为只有转义斜杠,只需转义并在$之前添加它:

$('body').html().replace(/kateguestdesigns.com\/$/gi,'kateguestdesigns.com/home') );

有关正则表达式特殊字符的参考,请参阅this page

答案 1 :(得分:0)

你可以这样做:

$('body').html($('body').html().replace(/kateguestdesigns.com$/gi,'kateguestdesigns.com/home'));

$添加到正则表达式以指示字符串的结尾。