わかりましたので、要素が非表示かどうかをテストしています。問題は、親要素が非表示の場合、子も非表示と見なされるため、技術的に「display:none」ではない子要素であっても、追加する行が追加されます"
function checkIfVisible() {
var checkLeft= $('#left').children('.module').filter(':hidden');
if(checkLeft.length > 0) {
if(!$('.resetLeft').length) {
left.prepend('<span class="resetLeft">Reset Left Widgets</span>');
}
}
ページの読み込み時にこのスクリプトを実行し、子要素のいずれかがクリックされて非表示になるたびに実行します。親要素が非表示になっているが、どの子要素もスタイルで非表示 (表示: なし) されていない場合、スクリプトが追加された要素を割り当てないようにするにはどうすればよいですか?
だから基本的に。
が非表示 (親) で、どの子も非表示でない場合は、を先頭に追加し#left
たくありません。resetLeft
しかし、#left
が非表示で、その子の 1 つ以上が display:none の場合は先頭に追加されます。left が隠されていなくても、この作業も必要です。