1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| //<!--Cette fonction sert à créer un élémentHTML ou textuel -->
function CreerElet(IdPere,typeElet,MotRechercher,Text)
{
if (typeElet == 1 )
{ //<!--C'est un élément HTML c-à-d SPAN -->
var Eletspan = document.createElement('span');
document.getElementById(IdPere).appendChild(Eletspan) ;
//<!--ajouter l'élément SPAN au DOM -->
span.innerHTML = MotRechercher ;
Eletspan.style.backgroundColor='green';
}
else //<!--Sinon on va ajouter élément textuel -->
{
var EltText=document.createTextNode(text) ;
document.getElementById(IdPere).appendChild(EltText) ;
EltText.innerHTML=Text ;
}
}
//****************************************
//<!-- Cette fonction sert à couper le text si le mot cherche est trouvé -->
function CouperChaine(Paragraphe ,motrecherche)
{
return result =Paragraphe.split(/motrecherche/);
}
//*******************************
//<!-- Fonction sert à repérer tous les mots trouvés -->
function Recherche(eltHTML ,MotRechercher) {
var elt=document.eltHTML ;
//<!--eltHTML est HTML -->
var eltsChild=elt.childNodes ;
//<!--Parcourir les noeuds de l'arbre DOM -->
for (var i=0;i<eltsChild.length;i++)
{
alert(eltsChild[i]) ;
if (eltsChild[i].nodeType != Node.ELEMENT_NODE and eltsChild[i].innerHTML != null ) {
//<!--C'est un élément textuel -->
//<!--Rest à tester si <> null????????-->
var TabText=CouperChaine(eltsChild[i].data ,MotRechercher)
//<!--La fonction return un tableau contenant les texts -->
<!--dans lesquels figurent le mot recherche -->
if (TabText.length>0)
{ IdPere=elt.getAttribut('id');
eltsChild[i].Data=TabText[0];
//<!--On peut supprimer l'ele ou affecter le contenu de TabText[0] -->
for (var i=0 ;i< TabText.length;i++)
{
if ( i !=TabText.length)
{
CreerElet(IdPere,1,MotRechercher,'') <!--elet SPAN -->
}
CreerElet(IdPere,2,MotRechercher,TabText[i]) <!--elet TEXT -->
}
}
Recherche(eltsChild[i]) ;
}
}
} |
Partager