Comment obtenir la classe d'une entrée à l'intérieur d'un jQuery chaque tour de boucle?
J'ai une fonction qui ajoute des entrées à l'intérieur d'un élément de liste lorsque le lien est cliqué. J'ai ensuite une boucle au travers de ces entrées à l'aide d'un chaque tour de boucle à l'aide du code ci-dessous. Il fonctionne correctement, comme indiqué, cependant, au lieu d'utiliser le terrain.nom je veux utiliser la classe de l'entrée de la clé du tableau, mais lorsque je tente pour ce faire, la classe est montré comme indéfini.
Voici le code que j'utilise actuellement:
var values = {};
$.each($('li :input').serializeArray(), function(i, field) {
values[field.name] = field.value;
});
Voici le code que j'ai à l'intérieur de l'élément de la liste une fois que j'ai ajouté le caché entrées à l'aide de jQuery ajouter:
<li><input type="hidden" name="group" class="group" value="2"/><input type="hidden" name="condition" class="condition" value="isany"/><input type="hidden" name="value" class="value" value="1,2"/></li>
Je peux obtenir le nom de l'attribut bien, mais la classe est toujours pas défini.
Quelqu'un pourrait-il aider?
- comment êtes-vous essayer d'obtenir le nom de la classe?
Vous devez vous connecter pour publier un commentaire.
essayer:
Ce travail, quand je l'ai testé.
values[$(this).attr('class')] = $(this).val();
<li><input type="hidden" name="group" class="group" value="2"/><input type="hidden" name="condition" class="condition" value="isany"/><input type="hidden" name="value" class="value" value="1,2"/></li>
je peux obtenir le nom de l'attribut, mais pas la classeJe ne peux pas comprendre comment le faire fonctionner avec $.serializeArray, mais cela fonctionne. (changement
console.log
à$("body").append
si vous n'avez pas de console).$.each($('input'),function(){console.log(this.className)})
Remarque que vous utilisez le javascript natif
this
plutôt que de l'objet jquery$(this)