Tilføjelse af klasse til et element i jQuery
Jeg minder om, at i attributten
class
i HTML-koden kan man skrive flere
klasser adskilt af mellemrum.
Forestil dig en sådan situation - du vil
tilføje en ny klasse til de eksisterende, uden at
overskrive dem. I dette tilfælde vil det ikke virke
bare at gøre .attr('class', 'new-class')
(ved at bruge metoden
attr)
- du vil overskrive de klasser, som
allerede er i attributten.
Man kunne selvfølgelig først læse de klasser,
som er der, derefter tilføje vores
klasse til dem med et mellemrum og skrive alt tilbage
til attributten, men der er en nemmere måde - i jQuery
er metoden
addClass
forudsat til sådanne ting.
Metoden addClass tillader at tilføje
en klasse til et element (eller elementer), uden at
overskrive andre klasser. Klassen, som du
ønsker at tilføje til elementet, accepteres som
en parameter af denne metode.
I det næste eksempel har vi et element med
to klasser - class="www zzz":
<p class="www zzz" id="test">text</p>
Vi kan tilføje en tredje klasse til det -
kkk. Som et resultat vil indholdet af attributten
blive sådan her - class="www zzz kkk":
$('#test').addClass('kkk');
HTML-koden vil se sådan ud:
<p class="www zzz kkk" id="test">text</p>
Tilføj klassen test til alle li.