2

好的,一个有点令人困惑的问题 - 道歉。但我的网站 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 来解决这个问题?

4

2 回答 2

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') );

有关正则表达式特殊字符的参考,请参阅此页面

于 2013-08-06T20:56:46.993 回答
0

你可以做:

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

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

于 2013-08-06T21:03:59.403 回答