j'ai essayé de mettre en œuvre le plugin jQuery replaceText de http://benalman.com/projects/jquery-replacetext-plugin/jQuery remplacer le texte en utilisant replaceText et variable
Mais rien ne se passe lorsque le code est exécuté.
Merci pour tous les indices. Sincèrement Marek
/**
* jQuery Plugin replaceText
**/
(function($){
$.fn.replaceText=function(b,a,c){
return this.each(function(){
var f=this.firstChild,g,e,d=[];
if(f){
do{
if(f.nodeType===3){
g=f.nodeValue;
e=g.replace(b,a);
if(e!==g){
if(!c&&/</.test(e)){
$(f).before(e);
d.push(f)
}else{
f.nodeValue=e
}
}
}
}while(f=f.nextSibling)
}
d.length&&$(d).remove()
})
}
})(jQuery);
/**
* variable containing content of q variable from google referer
**/
var querywords = "Some+text+from+google%20referer";
/**
* function for replace each word from body with its "marked" version
* that is after handled by css propetry for "mark" element
**/
$(document).ready(function () {
if(window.querywords !== undefined){
var qw = window.querywords.replace('%20','+');
qw = qw.replace(' ','+');
var splited = qw.split("+");
for(var q in splited){
$('body :not(textarea)').replaceText(/\bsplited[q]\b/gi, '<mark>$1</mark>');
}
}
});
Merci beaucoup. Mais dites-moi, quel est le problème avec ... dans? Quand je l'ai testé, la boucle a traversé les mots correctement, ou y at-il un désavantage avec ce type de boucle? –
@Marek - IE énumère dans l'ordre ajouté, plutôt que l'ordre des index par exemple :) –
Ahh, donc c'est encore problème IE-dépendante. Merci pour les explications, je me bats avec ce gentil explorateur buggy depuis des années. Hope IE9 nous libèrera dès que possible. –