程序员

layui中checkbox,form.render问题

2018-12-29  本文已影响7人  Amazing大龙大龙

今天在开发中,遇到一件事,没做过多测试
网上搜索的jquery将checkbox改为选中状态,是如下方法:

$(this).attr('checked',true);
form.render('checkbox');

但是实际情况中,上述方法 虽会将html的checked变成选中,但是更新渲染时无效,因此在这记下这一点。使用如下方法将checkbox置为选中状态时再去更新渲染,此方法有效。

$(this).prop('checked',true);
form.render('checkbox');

写完文章后,因为不是专门做前端,所以查了查attr()和prop()的区别

从 jQuery 1.6 开始新增了一个方法 prop()。

从中文意思看,两者分别是获取/设置 attributes 和 properties 的方法,那么为什么还要增加 prop() 方法呢?

Before jQuery 1.6, the .attr() method sometimes took property values into account when retrieving some attributes, which could cause inconsistent behavior.

因为在 jQuery 1.6 之前,使用 attr() 有时候会出现不一致的行为。

那么,什么时候使用attr(),什么时候使用prop()?

To retrieve and change DOM properties such as the checked, selected, or disabled state of form elements, use the .prop() method.

根据官方的建议:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()

参考资料

上一篇下一篇

猜你喜欢

热点阅读