2012-05-04 5 views

Odpowiedz

5

Ten wyszuka Ci cały DOM i zastąpić każdy Rox z <span>Rox</span>:

$(':contains("Rox")').html(function(index, oldHTML) { 
    return oldHTML.replace(/(Rox)/g, '<span>$&</span>'); 
});​ 

Live DEMO

+0

Mam również nieoczekiwany token ILLEGAL :( – PhoxKiD

+0

@gdoron Otrzymuję dziwne wyniki - może to być wina jsbina – Sampson

+1

@gdoron Po prostu wypróbowałem wszystko w jsfiddle i działało bez zarzutu Dobroć, jsbin kazał mi wariować na chwilę tam: – Sampson

5

W tym przypadku można zastosować metodę JavaScript replace():

'FoxRox'.replace(/(Rox)/, '<span>$1</span>'); 

zastąpienie tego przez cały dokument, można spróbować wykonać następujące czynności:

$(":contains('Rox')").html(function(i,o){ 
    return o.replace(/(Rox)/g, '<span>$1</span>'); 
});​ 

Uwaga, jeśli termin jest nie "Rox", musisz to zmienić w powyższym skrypcie.

+0

Domyślam się, że trudno jest zmienić DOM. – gdoron

+0

Proszę sprawdzić moje strony internetowe, nad którymi obecnie pracuję, http://www.foxklld.site88.net. Wkleiłem twój kod, ale daje mi to jakiś błąd, a także, że chcę zamienić 'KllD' na' Rox', zobaczysz co mam na myśli. Więc chcę coś takiego '' FoxKllD'.replace (/ (KllD) /, ' Rox'); '. Ponadto na konsoli chrome powiedział nieoczekiwany token ILLEGAL. – PhoxKiD

+0

@ user1374078 Ale chcesz go zastąpić w całym dokumencie, prawda? – Sampson