Domanda

Vorrei poter passare un po 'di div che ogni avere lo stesso ID. Il mio codice jQuery corrente alterna un solo div. (Ho provato con una miscela di .Next e .parent.next, ma non ho trovato ancora nulla)

$('#body'+id).toggle('400');

Quindi: Non ci sarebbe più div con id un '# body2010. Voglio attivare tutti quelli.

È stato utile?

Soluzione

duplicati nomi ID non sono validi. Si dovrebbe convertire in classi. jQuery corrisponderà solo il primo elemento di corrispondenza per le modifiche di identificazione mentre sarebbe restituire una matrice di tutte le partite di classe. Si potrebbe poi fare:

$('.body'+id).toggle();

Altri suggerimenti

Non si dovrebbe avere più di 1 elemento con lo stesso ID in un documento - utilizzare l'attributo class invece

.

ID di dovrebbero essere unico. JQuery sa che, in modo che quando siete alla ricerca di un elemento con un ID specifico, jQuery restituirà un solo elemento.

da docs jQuery:

  

#id
  Corrisponde a un singolo elemento con la   dato attributo id.

http://docs.jquery.com/Selectors/id#id

Si dovrebbe cambiare il body2010 id per un attributo di classe.

Conoscere nulla di jQuery, credo che un ID deve essere univoco e se si dispone di più div con lo stesso ID, si dovrebbe utilizzare una classe.

ID, come sapete, sta per 'identificatore'. ID sono univoci in tutti i contesti.

Si dovrebbe utilizzare le classi per questo tipo di query DOM.

jQuery alternerà solo il primo di questi elementi in quanto identità di dovrebbero essere unici in una pagina. Si otterrà un risultato migliore se si assegna un nome di classe per ciascuno di questi div e l'uso che per attivare o disattivare.

$('.body' + id).toggle('400');
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top