Skip to content Skip to sidebar Skip to footer

JavaScript Text Color Change To Each Word In Array

I have this JavaScript Code: $(function() { var text = $(this).find('#text').html(); var key_words = ['university', 'students', 'institutions',

Solution 1:

Another way of doing it without a loop, would be:

 function colorText(text, keywords) {
     var regex = new RegExp(keywords.join('|'), 'gi');
     return text.replace(regex, '<span style="background: yellow">$&</span>');
 }

Solution 2:

In your colorText function, you are resetting a variable rd every time you loop so it will only show the last item. Instead, try just updating the text value and returning it when you're finished, like this:

function colorText(text, keywords) {
    $.each(keywords, function (index, item) {
        var r = new RegExp(item, "gi")
        text = text.replace(r, '<span style="background: yellow">' + item + '</span>');
    });
    return text;
}

Post a Comment for "JavaScript Text Color Change To Each Word In Array"