Un dato ID può essere utilizzato solo una volta in una pagina. È HTML non valido avere più oggetti con lo stesso ID, anche se si trovano in parti diverse della pagina.
Si potrebbe cambiare il codice HTML a questo:
<div id="div1" >
<input type="text" class="edit1" />
<input type="text" class="edit2" />
</div>
<div id="div2" >
<input type="text" class="edit1" />
<input type="text" class="edit2" />
</div>
Poi, si potrebbe ottenere il primo elemento div1 con un selettore CSS come questo:
#div1 .edit1
On in jQuery:
$("#div1 .edit1")
Oppure, se si desidera iterare gli elementi in una delle tue div, puoi farlo in questo modo:
$("#div1 input").each(function(index) {
// do something with one of the input objects
});
Se non ho potuto usare un framework come jQuery o YUI, mi piacerebbe andare a prendere Sizzle e comprendono che per la logica di essa la selezione (che è lo stesso motore di selezione, come si trova all'interno di jQuery) perché manipolazione del DOM è massicciamente più facile con una buona libreria di selettori.
Se non potessi utilizzare anche Sizzle (che sarebbe un notevole calo della produttività degli sviluppatori), potresti utilizzare semplici funzioni DOM per attraversare i figli di un determinato elemento.
Dovresti utilizzare le funzioni DOM come childNodes o firstChild e nextSibling e dovresti controllare il nodeType per assicurarti di avere solo il tipo di elementi che desideri. Non scrivo mai il codice in questo modo perché è molto meno produttivo rispetto all'utilizzo di una libreria di selettori.
non si può avere più di un elemento con lo stesso ID in tutta la struttura DOM ... 'id' necessario essere unico, sempre –
per favore non usare questo. questo è un markup non valido – naveen
Come indica @PaulPROs, non hai HTML. Hai qualcosa * simile a * HTML, ma poiché hai più elementi con lo stesso 'id', non è valido. –