2017-12-28 6 views
-7

Hallo Freunde Ich versuche die Worte in einer bestimmten div class zu markieren, wenn jedes Wortdie Worte in nur bestimmte div class Hightlight wenn jedes Wort Javascript in Array vorhanden ist, mit

Beispiel

in Array vorhanden ist
var cars = ["hello", "when", "why"]; 
    <p class="highlighed">How are you when</p> 
    <p>How are you</p> 

möchte ich nur Worte in hervorgehoben markieren, wenn jedes Wort in dem Feld vorhanden ist mir jemand kann

+2

Was haben Sie bisher versucht? – Lalit

+0

Ich habe versucht, aber es hebt die Wörter auf der vollständigen Seite hervor, aber ich will nur auf bestimmte Klasse – Shruti

Antwort

0

ich habe versucht, aber es unterstreicht die Worte auf komplette Seite bitte helfen, aber ichwollennur auf bestimmte Klasse

Verwendung document.getElementsByClassName("highlighed"), wird dies eine htmlcollection zurück, die

Dieses unterhalb Schnipsel nur diese spezielle Klasse hat useful.Have hinzugefügt Kommentare zur Beschreibung seines

var cars = ["hello", "when", "why", "are"]; 
 
//get the dom which have this specific class 
 
var classes = document.getElementsByClassName("highlighed"); 
 
//convert collection to array to use array method 
 
//forEach is array method 
 
Array.prototype.slice.call(document.getElementsByClassName("highlighed")).forEach(function(item) { 
 
    //get the innerHTML and remove whitespace and create an array from it 
 
    var getText = item.innerHTML.trim().split(' '); 
 
    // iterate this newly created array 
 
    getText.forEach(function(item2, index) { 
 
    //check if any text is matching with cars array 
 
    if (cars.indexOf(item2) > -1) { 
 
     // replace the element in newly created array with dom element 
 
     getText[index] = "<span class='lightText'>" + item2 + "</span>" 
 
    } 
 
    }); 
 
    // create string array using join 
 
    item.innerHTML = getText.join(' '); 
 
})
.lightText { 
 
    color: green; 
 
}
<p class="highlighed">How are you when</p> 
 
<p>How are you</p>

Verwandte Themen