jquery替换问题

时间:2011-01-12 09:37:28

标签: javascript jquery replace

为什么这个jquery不工作的任何想法?

$("div.aboutText p a").each( function() {
    $(this).replace(' ', 'ert');
});

好的......所以我有一个看起来像这样的链接......

<a href="#">My Link</a>

我希望它看起来像这样...

<a href="#">MyertLink</a>

6 个答案:

答案 0 :(得分:3)

.replace()是一个字符串方法 -​​ 它不适用于jQuery对象。尝试:

$(this).text($(this).text().replace(" ", "ert"))

答案 1 :(得分:1)

您应该替换texthtml

$(this).html($(this).html().replace(" ", "ert"));

或者:

$(this).text($(this).text().replace(" ", "ert"));

要实际替换所有空格实例,您必须使用带有/g修饰符的正则表达式,如下所示:

$(this).text($(this).text().replace(/' '/g, 'ert'));

另一种方法是使用splitjoin,如下所示:

$(this).text($(this).text().split(' ').join('ert'));

答案 2 :(得分:1)

.replace()是一个简单的Javascript方法,它不是由jQuery封装的。所以我想您想要替换锚点中的text()href值。

$("div.aboutText p a").each( function() {
    $(this).text(function(i, text) {
        return text.replace(' ', 'ert');
    });
});

$("div.aboutText p a").each( function() {
    $(this).attr('href', (function(i, href) {
        return href.replace(' ', 'ert');
    });
});

答案 3 :(得分:1)

当你想要替换a标签文本中的内容时,请使用:

$("div.aboutText p a").each( function() {
    $(this).text($(this).text().replace('/ /', 'ert'));
});

答案 4 :(得分:0)

答案 5 :(得分:0)

你想要的可能是这样:

$("div.aboutText p a").each(function() {
  var t = $(this).text().replace(" ","ert");
  $(this).text(t);
});

$(this)会返回一个标签,但是你想要替换A标签的哪一部分?文字?