开发者

How to replace more than once?

开发者 https://www.devze.com 2023-01-21 13:40 出处:网络
This is my code so far: $(\"h1.intro:contains(\'|\')\").each(function() { $(this).html($(this).html().replace(\'|\',\'</span><br /><span>\'))

This is my code so far:

$("h1.intro:contains('|')").each(function() {
    $(this).html($(this).html().replace('|','</span><br /><span>')) 
});

This works just onc开发者_JS百科e, but it has to work for all of those "|"...

any ideas?


Add /g modifier:

$("h1.intro:contains('|')").each(function() {
    $(this).html($(this).html().replace(/\|/g, '</span><br /><span>'));
});

More Info:

The g modifier is used to perform a global match (find all matches rather than stopping after the first match).

  • http://www.w3schools.com/jsref/jsref_regexp_g.asp


If you are using jQuery 1.4, you can do this more nicely using the .html(function)) signature:

$("h1.intro:contains('|')").each(function() {
    $(this).html(function(idx, oldContent) {
        return oldContent.replace(/\|/g, '</span><br /><span>');
    });
});

This means you don't have to create a second jQuery instance and should perform better.


Hi add a modifier to your regex by adding the "/g" after "|"

$("h1.intro:contains('|')").each(function() {
    $(this).html($(this).html().replace("|/g",'</span><br /><span>')) 
});
0

精彩评论

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

关注公众号