jQuery搜索文本页面并更改它,但如果它已经存在则不要
Posted
技术标签:
【中文标题】jQuery搜索文本页面并更改它,但如果它已经存在则不要【英文标题】:jQuery search page for text and change it, but don't if it's already there 【发布时间】:2013-08-08 01:07:36 【问题描述】:好的,一个有点令人困惑的问题 - 道歉。但我的网站 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 来解决这个问题?
【问题讨论】:
【参考方案1】:您需要使用字符串锚的结尾。试试这个:
$('body').html( $('body').html().replace(/kateguestdesigns.com$/gi,'kateguestdesigns.com/home') );
$
告诉替换匹配紧跟在.com
之后结束的字符串。请注意,这将不匹配 /kateguestdesigns.com/
以说明尾部斜杠,只需转义并将其添加到 $
之前:
$('body').html().replace(/kateguestdesigns.com\/$/gi,'kateguestdesigns.com/home') );
有关正则表达式特殊字符的参考,请参阅this page。
【讨论】:
【参考方案2】:你可以这样做:
$('body').html($('body').html().replace(/kateguestdesigns.com$/gi,'kateguestdesigns.com/home'));
在正则表达式中添加了$
以指示字符串的结尾。
【讨论】:
以上是关于jQuery搜索文本页面并更改它,但如果它已经存在则不要的主要内容,如果未能解决你的问题,请参考以下文章