jQuery DataTables: Comment faire pour obtenir l'index de ligne (ou nNode) par l'id de ligne de tr?
J'ai un dataTables <table id="myTable">
. Je voudrais fnUpdate()
et fnDestroy()
mes lignes. chaque ligne dispose d'un identifiant, par exemple: <tr id="16">
.
Pour fnUpdate()
/fnDestroy()
approprié <tr>
, j'ai besoin d'obtenir cette ligne de l'index. Pour cela, j'ai essayer d'utiliser fnGetPosition()
, mais la façon dont j'essaie ce n'est pas la façon de le faire:
$("#myTable").fnGetPosition( $("#16") )
résultats dans
TypeError: nNode.nodeName est pas défini [Pause Sur Cette Erreur] var
sNodeName = nNode.nodeName.toUpperCase();
Qui fait sens, comme fnGetPosition()
expexts nNode (dans mon cas un HTMLTableRowElement).
Comment puis-je obtenir le HTMLTableRowElement qui a id="16"
?
EDIT:
Une bonne réponse à ma question est: document.getElementById("16")
. Sur cette base, je voudrais changer ma question est la suivante:
Pourquoi ne
$("#myTable").fnGetPosition( document.getElementById("16") )
travail, mais
$("#myTable").fnGetPosition( $("#16") )
échoue?
Vous devez vous connecter pour publier un commentaire.
document.getElementById() renvoie un objet DOM, et tout sur l'objet DOM sera intrinsèquement accessible.
De JQuery $('#...') retourne un wrapper autour d'un seul objet DOM OU un ensemble d'objets DOM (en fonction du sélecteur) et en tant que tel, il ne renvoie pas le véritable Objet DOM. Il facilite le travail avec les objets DOM.
La raison pour laquelle vous faites cette erreur dans le deuxième cas serait que $(#...) n'est pas réellement un objet DOM.
$('#16').get()
devrait être équivalente àdocument.getElementById("16")
pour mon but, ou ai-je raté quelque chose?Pour encore quelqu'un qui a ce problème, essayez ceci:
Pour obtenir le même résultat que
document.getElementById
vous devez accéder au premier élément de l'objet jQuery.Vous devriez faire:
$("#myTable #16")
est pas une amélioration par rapport à$("#16")
, comme #16 est déjà un identifiant unique et je n'ai toujours pas un HTMLTableRowElement à utiliser pourfnGetPosition()
.