2009-07-14 22 views
5

Ho una funzionePosso ottenere un oggetto jQuery da un elemento esistente

function toggleSelectCancels(e) { 
     var checkBox = e.target; 
     var cancelThis = checkBox.checked; 

     var tableRow = checkBox.parentNode.parentNode; 

} 

come posso ottenere un oggetto jQuery che contiene TableRow Normalmente vorrei andare $("#" + tableRow.id), il problema qui è l'id per TableRow è qualcosa di simile a questo "x:1280880471.17:adr:2:key:[95]:tag:". È autogenerato da un controllo infragistico. jQuery non sembra essere getElementById quando l'id è così. la dom standard document.getElementById("x:1280880471.17:adr:2:key:[95]:tag:") restituisce comunque l'elemento di riga corretto.

In ogni caso, c'è un modo per ottenere un oggetto jQuery da un elemento dom?

Grazie, ~ ck a San Diego

risposta

2

È possibile richiamare la funzione jQuery su elementi DOM: $(tableRow)

È inoltre possibile utilizzare il metodo di jQuery closest in questo caso:

var tableRowJquery = $(checkBox).closest('tr'); 

Se si desidera continuare a utilizzare il proprio ID, kgiannakakis (sotto), fornito un collegamento eccellente su come escape characters with special meaning in a jQuery selector.

2

jQuery può prendere gli elementi DOM, provate con:

$(tableRow) 

o

$(checkBox.parentNode.parentNode) 
0

prova:

var r = $(document.getElementById("XXXX----ID Of Your Row----XXXX")); 

ora, se document.getElementById non restituisce indefinito è possibile utilizzare r come qualsiasi oggetto jQuery regolare.

2

Si dovrebbe essere in grado di passare l'elemento dritto, in questo modo:

$(tableRow)... 

Ho testato questo con la creazione di un riferimento a un div, passando poi dritto in jQuery e crea l'oggetto jQuery per tu.

Problemi correlati