Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

157
Views
Cambiar el color de las palabras en un párrafo que coincida con un término de búsqueda

Tengo un campo que realmente busca en javascript y muestra los resultados, pero los resultados aparecen individualmente. Quiero mostrarlo de todo el artículo con el color cambiado a rojo.

código

 var string = document.getElementById("one").innerHTML; var elDemo = document.getElementById("one"); function getPortions(queryString, string) { var results = []; if(queryString.length > 0){ var rgxp = new RegExp("(\\S*)?("+ queryString +")(\\S*)?", "ig"); string.replace(rgxp, function(match, $1, $2, $3){ results.push( ($1||"") +"<b>"+ $2 +"</b>"+ ($3||"") ); }); } return results; } document.getElementById("txt1").addEventListener("input", function(){ var result = getPortions(this.value, string); elDemo.innerHTML = result.join(" "); });
 <input type="search"class="form-control" id="txt1" placeholder="search" aria-label="Username" aria-describedby="basic-addon1"> <div id="one">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis accusantium facilis facere et ipsum quas itaque voluptatum similique at autem ullam quidem magni error maxime laborum nihil optio cupiditate, magnam fuga. Expedita, aliquam dignissimos veniam cupiditate assumenda nesciunt quod perferendis, rem dolor harum ipsa ullam. Nihil similique voluptate mollitia veniam!</div>

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Intente devolver el resultado completo de la sustitución en lugar de crear la matriz y unirla más tarde.

es decir

 return string.replace(rgxp, (match) => "<b style=\"color: red;\">"+ match +"</b>") 

 var string = document.getElementById("one").innerHTML; var elDemo = document.getElementById("one"); function getPortions(queryString, string) { var results = []; if(queryString.length > 0){ var rgxp = new RegExp("(\\S*)?("+ queryString +")(\\S*)?", "ig"); return string.replace(rgxp, (match) => "<b style=\"color: red;\">"+ match +"</b>") } return results; } document.getElementById("txt1").addEventListener("input", function(){ if (!this.value) { elDemo.innerHTML = string return } var result = getPortions(this.value, string); elDemo.innerHTML = result; });
 <input type="search" reauired class="form-control" id="txt1" placeholder="search" aria-label="Username" aria-describedby="basic-addon1"> <div id="one">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis accusantium facilis facere et ipsum quas itaque voluptatum similique at autem ullam quidem magni error maxime laborum nihil optio cupiditate, magnam fuga. Expedita, aliquam dignissimos veniam cupiditate assumenda nesciunt quod perferendis, rem dolor harum ipsa ullam. Nihil similique voluptate mollitia veniam!</div>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!