JQuery find 返回object 为空问题

大石头1987 2017-04-13 09:38:29
使用JavaScript 时遇到一个问题, checkbox 用的是iCheck:

$("input[name='compenent']").on('ifChecked ifUnchecked', function (event) {
var $icheck = $(this);
//onCheckCompenent(event, $icheck);
var checkComp = $icheck;

//var checkboxes = checkComp.find("input[name='node']");
var checkboxes = $icheck.find('input.check');
alert(checkboxes.length);

if (event.type == 'ifChecked') {
checkboxes.iCheck('check');
} else {
checkboxes.iCheck('uncheck');
}

checkboxes.on('ifChanged', function (event) {
if (checkboxes.filter(':checked').length == checkboxes.length) {
checkComp.prop('checked', 'checked');
} else {
checkComp.removeProp('checked');
}
checkComp.iCheck('update');
});


这段代码运行时发现 checkboxes.length = 0. 如何才能获取compenent 下面所有的checkbox?
为什么会这样,卡住我了。


<li>
<input type="checkbox" class="check" name="compenent" />System Component
<ul class="dropdown ">
<li>
<input type="checkbox" class="check" name="node" />CPU Info
<ul class="dropdown \">
<li>
<input type="checkbox" class="check" name="param" />Processor
</li>
</ul>
</li>
<li>
<input type="checkbox" class="check" name="node" />Memory Info
<ul class="dropdown ">
<li>
<input type="checkbox" class="check" name="param" />Memory Size
</li>
</ul>
</li>
</ul>
</li>
...全文
188 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
大石头1987 2017-04-14
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
你的$icheck是input元素。input元素不可能有子元素啊。 你要获取的是input元素下面兄弟元素ul中的子元素吧。 $icheck.next("ul.dropdown").find('input.check');
感谢,但是我改成下面的样子,获取到的length 依旧是0
var checkboxes = $icheck.next('ul.dropdown').find('input.check');
        alert(checkboxes.length);
天际的海浪 2017-04-13
  • 打赏
  • 举报
回复
你的$icheck是input元素。input元素不可能有子元素啊。 你要获取的是input元素下面兄弟元素ul中的子元素吧。 $icheck.next("ul.dropdown").find('input.check');

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧