所以我試圖改變父級隱藏元素的子元素的類。jQuery綁定事件處理程序到一個隱藏的元素(display:none)
基本上我試圖綁定兩個僞複選框,一個是在FrontPage(讓我們說「記住我」),另一個是在隱藏菜單(顯示:無)。
目前,如果我使用的選擇來接他們所有:
$('.rememberme').on('click', function() { $(this).toggleClass('fa-square fa-check-square') });
它沒有父隱藏「.rememberme」元素上工作。
<html>
<title>test</title>
<body>
<section class="hidden" style="display:none">
<a href="#" class="rememberme"><i class="fa fa-square"></a>
</section>
<section style="display:block">
<a href="#" class="rememberme"><i class="fa fa-square"></a>
<button id="fu">turn first section one</button>
</section>
</body>
</html>
因此導致不一致。
目前我只看到2種方式 - 運行一個「線程」(即間隔)並從localstorage/global中獲取檢查值,並同步數據(看起來很笨重),或綁定到激活的按鈕元素該部分
$('#fu').on('click', function() { $('.hidden').show(); });
整個重新綁定函數(我做過這樣的事情之前.live被髮明)。
你怎麼知道它沒有綁定到父隱藏元素?如果我刪除內聯CSS並切換隱藏的元素,那麼綁定就在那裏:https://jsfiddle.net/igor_9000/n6tj1w9z/ –
它是綁定的,但只有在元素處於活動狀態或顯示狀態時纔有效。無論如何,有幫助的答案在下面。 – Andrew