Kā pievienot klasi noteiktam elementam?

Man ir elements, kuram jau ir klase:

<div class="someclass">
    <img ... id="image1" name="image1" />
</div>

Tagad es gribu izveidot JavaScript funkciju, kas pievienos div klasi (nevis aizstās, bet pievienos).

Kā es to varu izdarīt?

Risinājums

Elementa īpašībai className pievienojiet atstarpi un jaunās klases nosaukumu. Vispirms elementam piešķiriet id, lai uz to varētu viegli iegūt atsauci.

<div id="div1" class="someclass">

</div>

Tad

var d = document.getElementById("div1");
d.className += " otherclass";

Pievērsiet uzmanību atstarpei pirms citādas klases. Ir svarīgi iekļaut atstarpi, jo pretējā gadījumā tiek apdraudētas esošās klases, kas atrodas pirms tās klašu sarakstā.

Skatīt arī element.className MDN.

Komentāri (14)

atrast savu mērķa elementu "d" tomēr vēlaties, un pēc tam:

d.className += ' additionalClass'; //note the space

jūs varat to ietīt gudrākos veidos, lai pārbaudītu iepriekšēju eksistenci, pārbaudītu, vai ir vajadzīgā vieta utt..

Komentāri (4)

Pieņemot, ka jūs darāt vairāk nekā tikai pievienojot šo vienu klasi (piemēram, jums ir asinhroni pieprasījumi un tā tālāk), Es ieteiktu tādu bibliotēku kā Prototype vai jQuery.

Tas padarīs gandrīz visu, kas jums būs jādara (ieskaitot šo), ļoti vienkāršu.

Teiksim, ka jūsu lapā jau ir jQuery, jūs varētu izmantot šādu kodu, lai elementam (šajā gadījumā - ielādes brīdī) pievienotu klases nosaukumu:

$(document).ready( function() {
  $('#div1').addClass( 'some_other_class' );
} );

Par citām lietām skatiet jQuery API pārlūku.

Komentāri (0)