Rumah > Artikel > hujung hadapan web > Bagaimana untuk Mengecualikan Elemen Tersembunyi daripada Pengiraan Pemilih CSS ke-anak?
Apabila menyembunyikan elemen dengan paparan: tiada yang menggunakan klik butang, nth-child selector mempertimbangkan kedua-dua item yang boleh dilihat dan tersembunyi . Ini boleh mengganggu corak penggayaan yang dimaksudkan untuk baris yang berbeza.
Penjelasan:
Pemilih CSS nth-child() memadankan elemen berdasarkan kedudukan mereka dalam kalangan adik beradik. Walau bagaimanapun, elemen tersembunyi kekal dalam DOM walaupun semasa menggunakan paparan: tiada, mengakibatkan pengiraan yang salah.
Penyelesaian:
Untuk mengecualikan elemen tersembunyi daripada kiraan anak ke-n , anda mesti mengalih keluar mereka daripada DOM sepenuhnya. Walau bagaimanapun, menggunakan kaedah remove() menghalang pemulihan kemudiannya, yang mengganggu fungsi togol.
Pendekatan Alternatif:
Sebaliknya, gunakan kaedah detach() jQuery, yang mengekalkan pendengar acara dan metadata lain. Begini caranya:
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(); } });
Penjelasan:
Kod ini menogol keterlihatan div yang dipilih sambil mengekalkan kiraan anak ke-n yang betul:
Faedah:
Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Elemen Tersembunyi daripada Pengiraan Pemilih CSS ke-anak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!