开发者

jquery replace problem

开发者 https://www.devze.com 2023-02-04 00:02 出处:网络
Any ideas why this jquery is not wor开发者_Go百科king? $(\"div.aboutText p a\").each( function() {

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?

0

精彩评论

暂无评论...
验证码 换一张
取 消