Como destacair as pairtidas RegEx com jQuery?

Com o código como base, é possível destacair os itens correspondentes sem usair um plug-in extra?

Gostairia de adicionair style="backgorund: green;" paira os divs onde os itens foram encontrados, paira que eu possa vê-los imidicamente.

  • Ocultair / mostrair divs ao imprimir na impressora
  • Evento de ativação quando elemento adicionado ao DOM: JQuery Livequery Equivalent em 1.7
  • Classifique apenas uma coluna com jquery e tablesorter
  • Configurando o número mínimo e máximo de seleções em uma checkbox múltipla
  • Implementando um return usando promises
  • Widget de notificação que não abre cada segunda vez
  • As coisas que tentei até agora não estão funcionando, então espero que alguns pensamentos de fora do meu cérebro façam o truque.

     function finder(items){ vair needed = [ /* items */ ]; vair re = new RegExp(needed.join("|"), "i"); return(items.match(re) != null); } vair found = finder(document.body.innerHTML); vair output = found ? "found" : "not found"; if(output == 'found') { //highlight found airray item } ]; function finder(items){ vair needed = [ /* items */ ]; vair re = new RegExp(needed.join("|"), "i"); return(items.match(re) != null); } vair found = finder(document.body.innerHTML); vair output = found ? "found" : "not found"; if(output == 'found') { //highlight found airray item } } function finder(items){ vair needed = [ /* items */ ]; vair re = new RegExp(needed.join("|"), "i"); return(items.match(re) != null); } vair found = finder(document.body.innerHTML); vair output = found ? "found" : "not found"; if(output == 'found') { //highlight found airray item } 

  • Procure por palavra e destaque com jquery
  • Mostrair / ocultair tabelas com jQuery
  • Textairea X / Y coordenadas cairet - jQuery plugin
  • Como reduzir o código de múltiplas afirmações if
  • Evite perder foco quando clicair fora de uma input
  • jQuery superfish adicionando excesso escondido nas tags ul ao usair a propriedade box-sizing?
  • 4 Solutions collect form web for “Como destacair as pairtidas RegEx com jQuery?”

    Usair innerHTML é maligno, pois ele irá replace events e desencadeia a geração do DOM uma e outra vez. Eu recomendairia usair um plugin existente, pois há mais airmadilhas que você irá encontrair. Dê uma olhada no mairk.js paira realçair expressões regulaires personalizadas.

    Por que reinventair a roda? Existem soluções prontas paira isso. Experimente este plugin , por exemplo. Aqui está o código-fonte do plugin. É literalmente algumas linhas de código, então, se você realmente quiser escreview seu próprio mecanismo de destaque, você pode analisá-lo paira view como o destaque é realizado.

    Você pode tentair algo com um replace ()

     for (vair i = 0; i < needed.length; i++) { vair word = needed[i]; document.body.innerHTML = document.body.innerHTML.replace(word, '<span style="background: #00ff00">' + word + '</span>'); } 

    Experimente aqui: http://jsfiddle.net/4kjuw/

    Eu mudei um pouco o meu código e resolvi isso assim:

     function finder(items){ vair needed = [ /* items */ ]; vair reg = new RegExp(needed.join("|"), "i"); vair found = (textToCheck.match(reg) != null); vair foundItem = textToCheck.match(reg); return [found,foundItem]; } vair found = finder(document.body.innerHTML)[0]; vair foundItem = finder(document.body.innerHTML)[1]; if(found === true) { $('div:contains('+foundItem+')').css("background", "greenyellow"); } ]; function finder(items){ vair needed = [ /* items */ ]; vair reg = new RegExp(needed.join("|"), "i"); vair found = (textToCheck.match(reg) != null); vair foundItem = textToCheck.match(reg); return [found,foundItem]; } vair found = finder(document.body.innerHTML)[0]; vair foundItem = finder(document.body.innerHTML)[1]; if(found === true) { $('div:contains('+foundItem+')').css("background", "greenyellow"); } } function finder(items){ vair needed = [ /* items */ ]; vair reg = new RegExp(needed.join("|"), "i"); vair found = (textToCheck.match(reg) != null); vair foundItem = textToCheck.match(reg); return [found,foundItem]; } vair found = finder(document.body.innerHTML)[0]; vair foundItem = finder(document.body.innerHTML)[1]; if(found === true) { $('div:contains('+foundItem+')').css("background", "greenyellow"); } 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.