Javascript kereső oldal

Javascript kereső oldal

Keresés az oldalon. Szükség lehet arra, hogy egy nagy térfogatú oldalának adatait, beleértve a táblázatokat és listákat. Megjegyezzük, hogy az ilyen igény merül fel, amikor az adott oldal tartalma statikus, és nem jön létre egy adatbázisból.

Keresés a jobb oldalon látható információkat lesz kényelmesebb, ha ez végre a megfelelő felület:

A mezőbe írja be a keresendő kifejezést, majd kattintson a „Keresés”, minden intuitív. Térjünk át a végrehajtását a kereső az oldalon, és mi lehet árnyalatokat annak végrehajtásában.

Hogyan keressünk egy szó egy oldalon?

ha (obj) textToFind = TrimStr (obj.value); // vágja az üres
> Else alert ( "A beírt kifejezés nem található");
return;
>
if (textToFind == "") alert ( "Nem adtál semmit");
return;
>

ha (document.body.innerHTML.indexOf (textToFind) == "- 1")
alert ( „Semmit sem találtak, ellenőrizze a beírt helyes!”);


áruk súly költsége
19 colos monitor 1 kg 1900 rubelt.
18 hüvelykes monitor 2 kg 1800 dörzsölje.
20 colos monitor 2 kg 1900 rubelt.

Próbálja meg tesztelni a keresési kifejezéseket, „19”, „2 kg” és mások. Azt is javasoljuk, hogy ellenőrizze az automatikus görgetés szöveget erre, amíg a megfelelő görgetősáv nem jelenik meg.

Itt a példa a script:

Javascript kereső oldal

Javascript kereső oldal

Mert Alekszej.
Oh ....
Általában köze vezető topika.Kratko nem mondja, meg kell nyitni a „téma”. Ha Mark megnyitni ezt topik- „Regular Expression”, majd könnyebb lesz. Nos, ezen a ponton, csak az érdemi ...
Próbáld megérteni ezt időpocsékolás ...
Sablon forrása Mark hozott (kicsit feljebb).

Szükség van a következő felülvizsgálat:

Input kezdete vonal bemenet (nekem)
- Bármilyen karakter. zéró
- latinnitsa. zéró
- input szó nem kevesebb, mint 2-3 karakter (egy karakter: karakter számjegyű letter kihagyni)

Megvan a „forráskód”, hogy írjon egy újat. nincs idő, lustaság, „fej és a füst.”
Mark használja a helyére módszer.

Mi róla, cserélje ki - ismert?

És tudjuk, hogy helyettesíteni tudja helyettesíteni az esemény a reguláris kifejezés nem csak a vonalon, hanem a függvény eredménye. A teljes szintaxis, példaként - az alábbiak szerint:

var newString = str.replace (regexp / substr, newSubStr / funkció)

Nos, akkor hogyan - regexp objektumot RegExp. Ő bejegyzés helyébe egy olyan értéket, vissza fog térni a paraméter száma 2

Substr - A string, amely helyébe newSubStr.
newSubStr - sorok helyébe lépő részkarakterláncként egy argumentum 1.
Funkció - funkció, amely lehet hivatkozni, hogy létrehoz egy új karaktersorozat (helyettesítjük, ahelyett alsztringek eredő argumentum 1).

Sajnos cserélni módszer nem változik a húr, ami miatt, hanem egyszerűen visszaadja egy új, módosított szöveg.
Hogy végre egy globális csere, fel kell venni a reguláris kifejezés zászló «g«.
Ha az első érv - a húr, akkor nem alakul egy olyan reguláris kifejezés, úgy, hogy például a

var ab = "a b" .A ( "\\ s", "..") // = "a b"

Calling cserélje húr változatlan marad, mert nem keresett egy reguláris kifejezés \ s. string «\ s«.
Most meg kell értenünk, hogy:
\ - A hétköznapi karakterek - teszi őket különlegessé. Például a kifejezés / s / keresi csak a karakter „s”. És ha tesz egy \ előtt s. A / \ s / már áll a szóközöket. Ezzel szemben, ha egy speciális szimbólum, mint például a *. ez \ teszi csak a szokásos szimbólum „csillag”. Például a / a * / keres 0 vagy több egymást követő karakter „a”. Ahhoz, hogy megtalálja egy csillag „a *” - hogy egy \ előtt különleges. szimbólum: / a \ * /.
És azt is meg kell érteni, és ez:
- ha egy reguláris kifejezés segítségével hozzuk létre az új RegExp kivitelező (...). ne feledje, hogy a fordított perjel (\) kell kiléptetni, pl.:

Tehát egy kódot használunk, amely nem módosítható hibás karakterek bevitele során vagy számokat 1-2, véglegesített, amely megbízhatóan teljesítette az első előfordulása a szövegben.

De most úgy tűnik, hogy a keresés és csere történik az egész szövegben az oldal és a a HTML tag.

...... Ha tényleg szükség tanácsot az ilyen kérdésekben - a kapcsolatot a szakemberek, például „” Ausztria-Home”...... .. konzultált

keresés Ausztria sérült.

Hogyan hozzunk létre egy keresés és csere csak a látható szöveg,
mivel ez teszi igazi gomb f3?

És mégis, és hogyan kell mozogni, hogy a következő esemény?

//////////////////////////////////////// keresés
funkció searchGlobalText (ob, textToFind) for (var i = 0; i // itt lehet elérni a parentNode:
/ * Var RNG = document.createRange ();
rng.selectNode (ob.childNodes [i]);
rng.deleteContents (); * /

> Else searchGlobalText (ob.childNodes [i], textToFind);
>;
> Else if (ob.childNodes [i] .nodeType == 3), ha (eval ( "/" + textToFind + "/ Gi"). Teszt (ob.childNodes [i] .nodeValue)) var root = ob.childNodes [ i];
var tartalom = root.nodeValue;

ha (document.createRange) var RNG = document.createRange ();
rng.setStart (gyökér, content.toLowerCase () indexOf (textToFind.toLowerCase ()).);
rng.setEnd (gyökér, content.toLowerCase () indexOf (textToFind.toLowerCase ()) + textToFind.length.);
var highlightDiv = document.createElement ( 'a');
highlightDiv.setAttribute ( 'name', textToFind);
highlightDiv.setAttribute ( 'SRH', '');
highlightDiv.style.backgroundColor = 'vörös';

rng.surroundContents (highlightDiv);
break;
> más

var RNG = document.body.createTextRange ();

rng.moveToElementText (root);
// Keresse meg a szöveget, és vigyük el a tartomány
if (rng.findText (textToFind))

rng.pasteHTML ('+ TextToFind +'„);
break;
>


>
>
funkció enterSearch () if (event.keyCode == 13) FindOnPage (text-to-find ');
>
>
funkció FindOnPage (inputId)

var textToFind = document.getElementById (inputId) .value;

Jó napot, köszönöm a kódot.
Kérem, segítsen nekem, hogy mi lehet a probléma minden böngészőben kereső működik, de IE 8 verzió nem egészen pontos: a keresett kifejezést, koncentrált, de a szöveg a mezőben " Kérem, segítsen nekem, hogy milyen misztikus?)) Köszönöm előre.

Jó napot mindenkinek! Kérem, mondja meg, miért van ezen a kódtól csak 1 szó, azaz a Ha megad egy kifejezést, akár 2 szó, a keresés zajlik. És mégis, hogyan kell átalakítani a kódot valamennyi javaslatot a talált szöveg megjelenik egy külön ablakban? Segítsen kérem, és a szöveg nagyon nagy, még a görgetés nem működik.

Kapcsolódó cikkek