comment obtenir un index de ligne dans le tableau dynamique via jQuery
J'utilise jquery dynamique créer du contenu de la table dans la page, comment puis-je obtenir le numéro de ligne de l'index de cette dynamique de conte? Dans le code suivant, lorsque je clique sur "afficher plus" le lien, je l'utilise en fonction de l'index dans le code suivant, mais il travaille maintenant. Comment résoudre ce problème? Merci.
$.getJSON(JsonURL,
function(data){
$.each(data, function(index, item){
var obj = item;
books.push(book);
});
for (var i = 0; i<obj.length; i++) {
var tr=$('<tr></tr>');
$('<td>'+ obj[i].name +'</td>').appendTo(tr);
$('<td>'+ obj[i].category +'</td>').appendTo(tr);
$('<td><a class=\'showMore\' href=#>'+ 'show more' +'</a></td>').appendTo(tr);
tr.appendTo('#tableBody');
};
});
$('a .showMore').on('click', function(event) {
var rowindex = $(this).parent().parent().children().index($(this).parent);
console.debug('rowindex', rowindex);
});
OriginalL'auteur user3003466 | 2014-03-27
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser événement délégation pour créer dynamiquement des éléments:
Veuillez noter que vous n'avez pas besoin d'un espace entre
a
et.showmore
parce quea .showmore
va sélectionner tous les éléments avec la classeshowmore
, qui est un enfant d'une ancre.Aussi,
.parent()
est une méthode de sorte que vous besoin de()
aprèsparent
si vous souhaitez utiliser.parent()
.Une autre suggestion est que, au lieu de plusieurs
parent()
méthode, vous pouvez utiliser .plus proche (le)OriginalL'auteur Felix
Vous pouvez essayer avec:
OriginalL'auteur hsz
vous devez utiliser événement délégation pour que
Cas de délégation permet de raccorder un écouteur d'événement à un élément parent, qui sera le feu, pour tous les enfants correspondant à un sélecteur, si ces enfants existent maintenant ou sont ajoutées dans le futur.
OriginalL'auteur Anoop Joshi