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

139
Views
How to separate words by commas?

I would like to split words with comma, so I can later highlight it with mouse hover. But I can't get it to work, I don't want to split words with - also.

HTML

<p class="texthover"> Name, Name-01, Name-02, Name, Name</p>

CSS

.texthover span {
    color: #F2668F;
    transition: color .3s;
}

.texthover span:hover {
    color: #023C4F;
    transition: color .3s;
}

First code I have, words are all split:

$(function() {
    $('.texthover').each(function() {
        var $this = $(this);
        $this.html($this.text().replace(/\b(\w+)\b/g, "<span>$1</span>"));
    });
});

I tried it this way too, while I can get the words, I lose the commas in text:

var text = document.querySelector('.texthover').innerHTML;
var old_html = text.split(",");
var new_html = "";
for (var i = 0; i < old_html.length; i++) {
    new_html = new_html + " <span class='text-"+i+"'>" + old_html[i]  + " </span>";
    document.querySelector('.texthover').innerHTML = new_html;
}
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Consider the following.

$(function() {
  $(".texthover").each(function(i, el) {
    $(el).html("<span>" + $(el).text().split(", ").join("</span>, <span>"));
  });
});
.texthover span {
    color: #F2668F;
    transition: color .3s;
}

.texthover span:hover {
    color: #023C4F;
    transition: color .3s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="texthover">Name, Name-01, Name-02, Name, Name</p>

This splits the text on commas, and then joins it all back with the proper <span> wrapping each word, and separating each with commas.

Result:

<span>Name</span>, <span>Name-01</span>, <span>Name-02</span>, <span>Name</span>, <span>Name</span>
about 4 years ago · Juan Pablo Isaza Report

0

replace /\b(\w+)\b/g with /([^,]+)/g

e.g.

$(function() {
    $('.texthover').each(function() {
        var $this = $(this);
        $this.html($this.text().replace(/([^,]+)/g, "<span>$1</span>"));
    });
});
.texthover span {
    color: #F2668F;
    transition: color .3s;
}

.texthover span:hover {
    color: #023C4F;
    transition: color .3s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="texthover"> Name, Name-01, Name-02, Name, Name</p>

about 4 years ago · Juan Pablo Isaza Report

0

This accounts for multiple texthover elements, spaces between commas, all without using jQuery:

document.querySelectorAll('.texthover').forEach(el => {
  el.innerHTML = el.innerText.trim().split(/\s*,\s*/).map(val => `<span>${val}</span>`).join(', ');
});
.texthover span {
  color: #F2668F;
  transition: color .3s;
}
.texthover span:hover {
  color: #023C4F;
}
<p class="texthover"> Name, Name-01, Name-02, Name-03, Name-04</p>
<p class="texthover">     Name-05  ,   Name-06   ,    Name-07      ,   Name-08 ,     Name-09     </p>

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!