2010-10-26 5 views
5

, jeśli h2 ma słowo "ply", chcę dodać przerwę.jquery dodaj <br> do h2, jeśli h2 zawiera to słowo

tytuły są dynamicznie wywoływane, witryna jest html, więc nie mogę używać php na niczym.

heres h2

11/400-5 4 PLY DOŚWIADCZALNA OPONA AIRCRAFT TIRE

ma to wyglądać tak

11/400-5 4 PLY
DOŚWIADCZALNA OPONA AIRCRAFT TIRE

, więc każdy tytuł, który zawiera słowo PLY, doda przerwę zaraz po słowie.

prawdopodobnie dość łatwe dla wszystkich yous tam =)

Odpowiedz

7

Przykład:http://jsfiddle.net/DbJ2V/

$('h2:contains(" PLY ")').html(function(i,htm) { 
    return htm.replace(" PLY ", " PLY<br/>"); 
}); 
+0

co jeśli masz klapki nie obowiązuje, po obu stronach? –

+0

Mogę tylko poprawić zawartość i zobaczyć, jak to działa. dzięki temu działa świetnie – Alex

2

Spróbujmy odpowiedzieć zamiast komentując:

$("h2:contains('PLY')").each(function() { 
    $(this).html($(this).html().replace(/(\WPLY\W)/g, "$1<br />")); 
}); 

Najpierw szukamy każdej h2 z tekstem "PLY", a następnie zastąp go, jeśli w rzeczywistości nie jest częścią słowa (na przykład -PLY pasowałoby, _PLY nie, winiłoby wyrażeń regularnych za to, co jest częścią słowa, a co nie), z tą samą treścią plus <br />.

+0

'\ b' też byłoby dobre, zamiast' \ W', zależy od wyboru. Naprawdę nie zastanawiałem się, który byłby najlepszy w tym przypadku (i rzeczywiście proste "\ s" lub tylko spacje mogą wystarczyć). –

0

Spróbuj:

$(document).ready(function() { 
    $("#content h2:contains(' PLY ')").each(function(k,v) { 
     t = $(v).text(); 
     $(v).html(t.replace(" PLY ", " PLY<br/>")); 
    }); 
});