2010-11-19 9 views
0

Ich habe ein großes HTML-Dokument, ein Buch, und müssen jedes Auftreten von "Toronto" fett.jQuery - Fett alle Wörter in einer Abfrage

Wie erfolgt dies in jQuery?

+0

Was haben Sie bisher gemacht? Wie willst du das Vorkommen finden? In welcher Art von DOM-Element kann es gefunden werden? – RvdK

+0

Wenn es sich um ein HTML-Dokument handelt, kann es sinnvoll sein, dies mit Suchen und Ersetzen in einem Texteditor zu tun, anstatt JavaScript/jQuery zu verwenden. – RoToRa

+0

Ich habe ein Plug-in gefunden, das großartige Ersetzungen bietet. https://github.com/cowboy/jquery-replacetext/raw/master/jquery.ba-replacetext.min.js –

Antwort

1
var bookPage = $("body"); 
bookPage.html(bookPage.html().replace(/Toronto/gi, '<strong>Toronto</strong>')); 
2

Sie sollten dies auf der Serverseite tun. Das Durchsuchen eines ganzen "Buchs" und Ersetzen von Vorkommen von DOM-Objekten durch andere DOM-Objekte (fettgedruckte Elemente) ist ziemlich speicherunfreundlich.

Wenn das Buch als Seitenstruktur dargestellt wird, schlage ich vor, den Austausch nur auf der aktuellen Seite durchzuführen und denselben Austausch durchzuführen, sobald die Seite geändert wurde.

+1

Es läuft als eine Anwendung auf einem iPad alle lokalen Daten. –

1
var book = $('#theBook'); 
var lookFor = 'Toronto'; 
book.html(book.html().replace(lookFor, '<strong>'+ lookFor +'</strong>'); 

Aber wie gut das auf die Länge eines super langen Buches skaliert, habe ich keine Ahnung. Aber es sollte für jede vernünftige Menge von Text, der auf einer einzelnen HTML-Seite gezeigt wird, in Ordnung sein.

Verwandte Themen