/ / div addClass solo su ONE div - javascript, jquery, html, addclass

div addClass solo su ONE div - javascript, jquery, html, addclass

Quando faccio qualcosa come:

$("#container").addClass("contract");

Aggiunge solo la classe al primo div con il contenitore id

Quando faccio qualcosa come:

$(".container").addClass("contract");

Aggiunge la classe a TUTTI i div con contenitore di classe

PERCHÉ ?

risposte:

2 per risposta № 1

Ogni elemento ID deve essere unico. Un ID punta a uno e solo un attributo. Jquery o qualsiasi altro framework non considerano nemmeno che potresti avere più di un elemento con un particolare id. Tutti i tuoi elementi devono avere un ID diverso. Javascript e il DOM si aspettano questo (ad esempio, document.getElementByID restituirà solo un elemento e potrebbe funzionare ora se l'ID è duplicato). Tutto si aspetta questo.


1 per risposta № 2

Perché id l'attributo deve essere unico nel documento HTML. Quindi non c'è bisogno di cercare altri eelementi con id="abc" quando trovi il primo.


1 per risposta № 3

L'attributo ID di un elemento dovrebbe identificarlo in modo univoco: un attributo di classe può essere applicato a più di un elemento, poiché l'ID è univoco, jQuery lo applicherà solo al primo elemento che corrisponde a quello.