为什么这个jquery不工作的任何想法?
$("div.aboutText p a").each( function() {
$(this).replace(' ', 'ert');
});
好的......所以我有一个看起来像这样的链接......
<a href="#">My Link</a>
我希望它看起来像这样...
<a href="#">MyertLink</a>
答案 0 :(得分:3)
.replace()是一个字符串方法 - 它不适用于jQuery对象。尝试:
$(this).text($(this).text().replace(" ", "ert"))
答案 1 :(得分:1)
您应该替换text
或html
:
$(this).html($(this).html().replace(" ", "ert"));
或者:
$(this).text($(this).text().replace(" ", "ert"));
要实际替换所有空格实例,您必须使用带有/g
修饰符的正则表达式,如下所示:
$(this).text($(this).text().replace(/' '/g, 'ert'));
另一种方法是使用split
和join
,如下所示:
$(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标签的哪一部分?文字?