2009-07-14 6 views
5

J'ai une fonctionPuis-je obtenir un objet jQuery à partir d'un élément existant

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

     var tableRow = checkBox.parentNode.parentNode; 

} 

comment puis-je obtenir un objet jQuery qui contient tablerow Normalement, j'irais $("#" + tableRow.id), le problème est l'id ici pour tablerow est quelque chose comme ça "x:1280880471.17:adr:2:key:[95]:tag:". Il est généré par un contrôle infragistique. jQuery ne semble pas getElementById lorsque l'ID est comme ça. La norme dom document.getElementById("x:1280880471.17:adr:2:key:[95]:tag:") renvoie cependant l'élément row correct.

De toute façon, existe-t-il un moyen d'obtenir un objet jQuery à partir d'un élément dom?

Merci, ~ ck à San Diego

Répondre

2

Vous pouvez appeler la fonction jQuery sur les éléments DOM: $(tableRow)

Vous pouvez également utiliser la méthode closest de jQuery dans ce cas:

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

Si vous souhaitez continuer à utiliser votre ID, kgiannakakis (ci-dessous), fourni un excellent lien sur la façon de escape characters with special meaning in a jQuery selector.

2

jQuery peut prendre les éléments DOM, essayez avec:

$(tableRow) 

ou

$(checkBox.parentNode.parentNode) 
0

essayer:

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

maintenant, si document.getElementById ne retourne pas non défini, vous pouvez utiliser r comme tout objet jquery régulier.

2

Vous devriez pouvoir passer directement dans l'élément, comme celui-ci:

$(tableRow)... 

Je l'ai testé en créant une référence à un div, en passant ensuite directement dans jQuery et il crée l'objet jQuery pour toi.

Questions connexes