Comment ignorer les éléments cachés lors de l'utilisation de sélecteurs de nième enfant
Dans le scénario décrit dans la requête d'origine, où les éléments masqués causent des problèmes avec les sélecteurs de nième enfant, il existe deux approches principales pour résoudre le problème :
1. Exclure les éléments cachés du DOM
À l'aide de jQuery, vous pouvez supprimer entièrement les éléments cachés du DOM à l'aide de la méthode .remove(). Cela garantit qu'ils ne sont plus considérés comme frères et sœurs par le sélecteur de nième enfant. Toutefois, si vous souhaitez ultérieurement restaurer les éléments cachés, cette approche n'est pas adaptée.
2. Utilisez la méthode detach() de jQuery
La méthode .detach() dans jQuery détache les éléments cachés du DOM, mais contrairement à .remove(), elle conserve les données jQuery de l'élément. Cela permet aux éléments détachés d'être réinsérés ultérieurement sans perdre leurs données.
Code jQuery mis à jour :
var divs; $('.photos-board-item').each(function (i) { $(this).data('initial-index', i); }); $('.hide-others').on('click', function () { if (divs) { $(divs) .appendTo('.row') .each(function () { var oldIndex = $(this).data('initial-index'); $('.photos-board-item').eq(oldIndex).before(this); }); divs = null; } else { divs = $('.css--all-photo').detach(); } });
Explication :
Remarque :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!