1
你好,stackoverflow社區。我需要幫助「太多遞歸」錯誤。這是當我做這些功能的,怪異的,但一切工作正常,只是錯誤:樹中遞歸錯誤太多
function check_checker (siblings, status) {
if (siblings) {
if (status == true) {
$(siblings).children('li.imCheckbox').children('input').prop("checked", true);
if ($(siblings).children('ul')) {
check_checker($(siblings).children('ul'), true);
}
} else {
$(siblings).children('li.imCheckbox').children('input').prop("checked", false);
if ($(siblings).children('ul')) {
check_checker($(siblings).children('ul'), false);
}
}
}
}
$(document).ready(function(){
$('body').on('click', 'input[name=impTaskCh]', function(){
if ($(this).is(':checked')) {
var siblingas = $(this).parent().siblings('ul');
check_checker(siblingas, true);
} else {
var siblingas = $(this).parent().siblings('ul');
check_checker(siblingas, false);
}
});
});
當點擊檢查,如果有UL UL它會檢查所有checkbox'es。馬比check_checker永遠不會結束或者什麼?你們怎麼想?
'if($(siblings).children('ul')){'將始終爲'true',因爲jQuery選擇器總是返回一個強制爲真的對象。使用'if($(siblings).children('ul')。length){'而不是 –
@RoryMcCrossan它工作!寫回答:) – Sidas