J'ai cette structure ici construite à partir d'une question précédente:
p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="row">
<div id="entry-wrapper">
<div class="entry">
<div class="text-wrapper">
<input type="text" class="text" value="ABC">
</div>
<div class="value-wrapper">
<input type="text" class="value" value="123">
</div>
</div>
<div class="entry">
<div class="text-wrapper">
<input type="text" class="text" value="DEF">
</div>
<div class="value-wrapper">
<input type="text" class="value" value="456">
</div>
</div>
</div>
</div>3 Réponses :
Pour activer une collection JQuery en une matrice standard, vous ne devez pas faire:
jQuery("#row .entry").get()
Vous ne devez pas envelopper l'objet JQuery à l'intérieur d'un tableau. C'est réglage jQuery a sa propre carte p> data code> de la collection JQuery, pas les éléments. map () code> méthode, que vous pouvez utiliser pour boucler sur les éléments dans une collection (Notez qu'il faut des arguments dans l'ordre opposé de array.prototype.map () code>). Il renvoie un objet JQuery, mais vous pouvez appeler .get () code> pour convertir cela en une matrice ordinaire. P> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="row">
<div id="entry-wrapper">
<div class="entry">
<div class="text-wrapper">
<input type="text" class="text" value="ABC">
</div>
<div class="value-wrapper">
<input type="text" class="value" value="123">
</div>
</div>
<div class="entry">
<div class="text-wrapper">
<input type="text" class="text" value="DEF">
</div>
<div class="value-wrapper">
<input type="text" class="value" value="456">
</div>
</div>
</div>
</div>
Merci Barmer pour cette solution de travail. Maintenant je l'ai. Je me demandais toujours pourquoi cela fonctionne parfois avec et sans .get ()
Vous pouvez utiliser la méthode Array.From pour convertir la collection JQuery en une matrice JavaScript.
p> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="row">
<div id="entry-wrapper">
<div class="entry">
<div class="text-wrapper">
<input type="text" class="text" value="ABC">
</div>
<div class="value-wrapper">
<input type="text" class="value" value="123">
</div>
</div>
<div class="entry">
<div class="text-wrapper">
<input type="text" class="text" value="DEF">
</div>
<div class="value-wrapper">
<input type="text" class="value" value="456">
</div>
</div>
</div>
</div>
Dans votre exemple, le script obtient tous les éléments actuels mais provoque un avertissement. Je suppose que vous devez ajouter un chèque si l'élément a ses propres enfants.