2010-11-24 7 views
0

So habe ich eine Liste ein Dokument mit 2000 plus Einträge. Ich möchte einige Suchfunktionen hinzufügen. Ich habe natürlich eine Eingabeleiste, aber wie würde ich das Javascript schreiben, das die Seite und die ScrollTos an diesen Ort durchsucht?Suche HTML und ScrollTo

Antwort

0

können Sie verwenden window.find und range.findText

<input id="search" > 
<input type="button" value="search" onclick="fx(document.getElementById('search'))"> 
<script type="text/javascript"> 
<!-- 
function fx(o) 
{ 
    var _o=o; 
    if(window.find) 
    { 
    _o.style.visibility='hidden'; 
    setTimeout(function(){window.find(_o.value);_o.style.visibility='visible';},10); 
    } 
    else if(document.body.createTextRange) 
    { 
    var rng=document.body.createTextRange(); 
     rng.findText(o.value); 
     rng.select(); 
    } 
} 
//--> 
</script> 
+0

Ich bin ein Neuling, wie würde ich mich dies darum, aus dem Text einer Eingabemaske zurück? –

+0

Ich habe oben ein Beispiel hinzugefügt. Bitte beachten Sie: Leider funktionierte das in Opera nicht, da Opera keine der beiden Methoden unterstützt. –

+0

Arbeitete perfekt in Chrome (danke), aber nicht auf dem Zielbrowser (mobile Safari auf dem iPhone). Vielen Dank! –

0

Wiederholen Sie die Elemente, die Sie durchsuchen möchten. Gehen Sie rekursiv durch untergeordnete Knoten und suchen Sie jeden einzelnen mit einer Regex, wahrscheinlich so etwas wie /\bTERM\b/.

Wenn Sie einen finden, suchen Sie seine Offset-Position und dann scrollTo() diesen Offset.