Mettez en surbrillance le texte à l'intérieur de html avec jQuery
Je cherche à faire quelque chose de similaire à ce plugin http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html
Mais le problème je suis confronté est que le plugin ne permet pas de mettre des mots en surbrillance dans le html.
Donc, si vous êtes à la recherche pour my text
à l'intérieur du html comme
this is <a href="#">my</a> text that needs highlighting
Vous n'obtiendrez pas de toute évidence.
Est-il un moyen de mettre du texte en surbrillance tout en ignorant les balises html entre les deux?
source d'informationauteur Mike
Vous devez vous connecter pour publier un commentaire.
J'ai bricolé quelques RegEx qui permet de balises HTML à la position d'espaces caractères:
JavaScript:
Essayer ici: http://jsfiddle.net/UPs3V/
Je voudrais laisser un commentaire, mais la pile ne permet pas de moi ou je n'arrive pas à trouver un bouton pour elle, et donc d'avoir à le faire dans une réponse.
Il y a un problème avec le script.
par exemple:
Soulignant renard dans la chaîne suivante:
De casser la balise img:
Je travaillais sur un point culminant de script et résolu ce problème ne se rendant pas compte que le script peut avoir à mettre en évidence sur plusieurs balises.
Voici comment je l'ai eu, de ne pas détruire les balises en essayant de mettre en évidence le contenu dans les balises, ce script met en avant les multiples instances dans le contenu, mais pas sur plusieurs tags:
Pas sûr de la façon de combiner ces scripts et de faire ressortir au cours de plusieurs balises fonctionnent mais ne garder mes yeux sur ce fil.
J'ai essayé la solution retenue et il semble se briser sur des pages complexes comme celui-ci (récursivité infinie). Aussi, je ne vois pas vraiment l'intérêt de s'appuyer sur jQuery, j'ai donc réécrit le code pour être indépendant de jQuery (c'est aussi sensiblement plus courte et ne prend pas en charge la fantaisie options).
Il est assez facile d'ajouter les options de retour et de l'utilisation des classes si vous le souhaitez.