Suche ohne HTML Steuerzeichen zu berücksichtigen
Hi,
ich habe ein kleines Script welches mir in einer HTML Seite den Suchbegriff markiert.
Allerdings habe ich das Problem, dass es auch die HTML Befehle sucht und markiert. Dadurch gerät die Anzeige durcheinander.
Was müsste ich denn ändern, dass die HTML Kommandos nicht mit durchsucht werden?
Code ausgeblendet
Wenn ich jetzt nach KARL suche, ist alles gut
Suche ich nach UL dann wird das HTML
Kommentar abgeben zu diesen Beitrag/Code ?- angezeigt, was eigentlich nicht sein sollte.
Es zerstört die Anzeige.
Dann hier klicken
Der hier verwendete Code
<html>
<head>
<style>
.mark {
background-color: #f00;
font-weight: bold;
color: #fff;
}
</style>
</head>
<body>
<input type="text" id="inpu" onKeyUp="f_mark(this.value)" />
<div id="content_search" >
<ul>
<li class="test">Karl Klapp</li>
<li id="juhu">Hans Schranz</li>
<li>Karl Napf</li>
<li>Peter Meier</li>
<li>Hans Mayer</li>
<li>Guido Petersen</li>
<li>Ingo Hansen</li>
<li>Eduard Karlsson</li>
</ul>
</div>
<script>
/*
document.getElementById("txt").innerHTML
document.getElementById("textContenttxt").textContent
document.getElementById("txt").textContent
*/
var start=document.getElementById('content_search');
var text=start.innerHTML;
function hole(){
start.innerHTML=text;
}
hole();
function f_mark(p_value){
var ff=hole();
let aktuell=start.innerHTML;
if (window.find && window.getSelection) {
document.designMode = "on";
var sel = window.getSelection();
sel.collapse(start, 0);
while (window.find(p_value)) {
document.execCommand("HiliteColor", false, "yellow");
sel.collapseToEnd();
}
document.designMode = "off";
document.getElementById('inpu').focus();
}
start.focus();
}
</script>
<div id="info"></div>
</body>
</html>