ここで達成しようとしているのは、ユーザーが要素をクリックすると非表示になることです。これが発生すると、含まれている要素の内側に別の要素を追加して、これらすべてのアイテムを再び表示します。
var checkIfleft = $('#left .module'),checkIfright = $('#right .module');
if(checkIfleft.hasClass('hidden')) {
$('#left').prepend('<span class="resetLeft">Reset Left</span>');
} else if(checkIfright.hasClass('hidden')) {
right.prepend('<span class="resetRight">Reset Right</span>');
}
私は複数の方法を試しましたが、正直なところ、.length ==1
先頭に要素を 1 つだけ追加したいので、これが最善の策だと思います。私が持っている上記のJSは、新しいアイテムが機能した場合、非表示になるたびに新しい要素を追加すると思います。
その他の試み:
var checkIfleft = $('#left .module').hasClass('hidden'),
checkIfright = $('#right .module').hasClass('hidden');
if(checkIfleft.length== 1) {
$('#left').prepend('<span class="resetLeft">Reset Left</span>');
} else if(checkIfright.length== 1) {
right.prepend('<span class="resetRight">Reset Right</span>');
}
else if(checkIfleft.length==0){
$('.resetLeft').remove()
} else if (checkIfright.length==0){
$('.resetRight').remove()
}
基本的に、コンテナ内の1つの要素が非表示になっている場合、リセットボタンを表示したいのですが、リセットボタンを削除しない場合...