Das Beispiel in diesem Artikel beschreibt, wie jquery die Hervorhebung von Seitenschlüsselwörtern implementiert. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Markieren Sie Schlüsselwörter für die Seitensuche über JQuery
Unterstützt die Hervorhebung auf chinesischen Seiten mit mehreren Wörtern
1. Der JavaScript-Code lautet wie folgt:
jQuery.fn.extend({
Highlight: function(search, configs){
If(typeof(search) == 'undefiniert') return;
var configs = jQuery.extend({
insensitive: 1, // Ob Groß- und Kleinschreibung übereinstimmen soll 0 stimmt überein 1 stimmt nicht überein
hls_class: 'highlight', // Hervorgehobene Klasse
clear_last: true, // Die ursprünglich hervorgehobenen Ergebnisse löschen
},configs);
if(configs.clear_last) {
$(this).find("strong." configs.hls_class).each(function(){
$(this).after($(this).text());
$(this).remove();
})
}
return this.each(function() {
If(typeof(search) == "string") {
$(this).highregx(search,configs);
} else if (search.constructor === Array) {
for(var query in search){
var search_str = $.trim(search[query]);
If(search_str != "") $(this).highregx(search_str,configs);
}
}
});
},
Highregx: function(query,configs){
query = this.unicode(query);
var regex = new RegExp("(<[^>]*>)|(" query ")", configs.insensitive ? "ig" : "g");
This.html(this.html().replace(regex, function(a, b, c){
return (a.charAt(0) == "<") ? a : "" c "";
}));
},
Unicode: Funktion(en){
var len=s.length;
var rs="";
s = s.replace(/([-.* ?^${}()|[]/\])/g,"\$1");
for(var i=0;i
If(s.charCodeAt(i) > 255)
rs ="\u" s.charCodeAt(i).toString(16);
else rs = s.charAt(i);
return rs;
}
});
2. Klicken Sie hier, um das Highlight-Plug-in herunterzuladen
.
Ich hoffe, dass dieser Artikel für alle bei der jQuery-Programmierung hilfreich sein wird.
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn