javascript - 为什么jquery通过prop()方法设置的属性没有在DOM里显示?
阿神
阿神 2017-04-11 12:13:29
[JavaScript讨论组]

我想做个全选功能,在网上也查了不少,知道在点击表头复选框的时候用prop()方法设置checkbox的checked:

$('ul.ul-first').onclick(function(){
    $('ul:not(".ul-first")').prop('checked',this.checked);
});

点击表头进行全选或者取消也实现了,但是我查看DOM的时候发现,当我点击表头全选的时候子ul的复选框虽然是选中状态,但是DOM里这些子ul并没有checked = 'checked'属性,我后续想对这些选中的子ul进行处理的时候无法通过checked属性选取。
后续我通过

$('ul:not(".ul-first")').each(function(){
    console.log($(this).prop('checked'));
})

打印的全是undefined

阿神
阿神

闭关修行中......

全部回复(3)
PHP中文网

后续仍然是通过$('ul input').prop('checked')获取选中状态啊
难道你用$('ul input').attr('checked')获取?

ringa_lee

尝试了一下,并没有出现你说的问题。你把代码贴全点吧。
还有:

$('ul.ul-first').onclick(function(){
    $('ul:not(".ul-first")').prop('checked',this.checked);
});

你这么绑定事件难道不会报错吗?

怪我咯

直接用原生js

this.checked = !!!this.checked
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号