Any ideas why this jquery is not wor开发者_Go百科king?
$("div.aboutText p a").each( function() {
$(this).replace(' ', 'ert');
});
OK... so I have a link that looks something like this...
<a href="#">My Link</a>
And I want it to look something like this...
<a href="#">MyertLink</a>
.replace() is a string method - it won't work on a jQuery object. Try:
$(this).text($(this).text().replace(" ", "ert"))
When you want to replace something in the text of the a tag use this:
$("div.aboutText p a").each( function() {
$(this).text($(this).text().replace('/ /', 'ert'));
});
.replace()
is a plain Javascript method, it's not encapsulated by jQuery. So I guess you want to replace either the text()
or the href
value from your anchors.
$("div.aboutText p a").each( function() {
$(this).text(function(i, text) {
return text.replace(' ', 'ert');
});
});
or
$("div.aboutText p a").each( function() {
$(this).attr('href', (function(i, href) {
return href.replace(' ', 'ert');
});
});
You should replace text
or html
:
$(this).html($(this).html().replace(" ", "ert"));
Or:
$(this).text($(this).text().replace(" ", "ert"));
To actually replace all instances of space, you will have to use regex with /g
modifier like this:
$(this).text($(this).text().replace(/' '/g, 'ert'));
Another method would be using split
and join
like this:
$(this).text($(this).text().split(' ').join('ert'));
Look here: How to change the href for a hyperlink using jQuery
What you want might be this instead:
$("div.aboutText p a").each(function() {
var t = $(this).text().replace(" ","ert");
$(this).text(t);
});
$(this) will return the a tag, but what part of the A tag are you trying to replace? the text?
精彩评论