替换超链接href中的匹配文本

时间:2013-08-21 14:50:48

标签: javascript jquery

我想要做的是找到所有具有href的超链接herf="/grade4/chapter1.html" 并用href="grade4/chapter_af1.html"

替换章节字

我尝试了一些jquery技巧,但没有运气

$('a').each( function() {
    var $this = $(this);
    var href = $this.attr('href').replace(/\chapter/,'chapter_af');
    $this.attr('href', href );
});

3 个答案:

答案 0 :(得分:1)

您不需要正则表达式,只需执行正常的字符串替换:

http://jsfiddle.net/9MXSZ/

$('a').each( function() {
    var $this = $(this);
    var href = $this.attr('href').replace('chapter','chapter_af');
    $this.attr('href', href );
});

如果你真的想使用正则表达式,你的版本中的\会将其抛弃:

.replace(/chapter/,'chapter_af')

答案 1 :(得分:0)

此处不需要Regex

尝试就像这样

var href = $this.attr('href').replace('chapter','chapter_af');

答案 2 :(得分:0)

只需将您的替换语句更改为:

...
var href = $(this).attr('href').replace('chapter', 'chapter_af')
...

在此处查看:http://jsfiddle.net/vNCpV/