我有HTML結構象下面這樣:jQuery的已檢測到父母不正確
<div id="banner-menu-holder">
<div>
<div class="avalible">
<div class="items-holder">
<div>
<div class="img-holder">
<div>
<input id="set_banner_29" type="checkbox" onclick="mod.setBanner(29);">
...
</div>
</div>
</div>
...
</div>
</div>
<div class="ready">
<div class="items-holder">
<div>
<div class="img-holder">
<div>
<input id="rem_banner_1_8_32" class="remove_banner" type="checkbox" checked="checked">
...
</div>
</div>
</div>
...
</div>
</div>
</div>
</div>
和JS代碼:
$(document).click(function(ev) {
if ($(ev.target).parents().index($('#banner-menu-holder')) == -1) {
$('#banner-menu-holder').css('display', 'none');
}
})
當我點擊複選框到第一個div(類avalible)然後功能已被全成執行 - 這個chekbox是主div(#banner-menu-holder)的孩子。
當我點擊第二個div的複選框,並且該功能沒有工作。 jQuery沒有檢測到這些複選框是主div的子項。
這個問題到jQuery或其他?
是什麼讓你覺得函數沒有執行?既然它們都是從'#banner-menu-holder'下降的,'.index()'不會返回'-1',所以什麼也不應該發生。 –