attr()和prop()的区别
区别
attr() 操作标签上的属性
prop() 操作Boolean类型的属性和有特性(class id name)的属性
attr可以操作HTML标签中的属性,不管是固有属性,还是添加的自定义属性。都可以通过attr来设置。
prop同样可以操作HTML中的固有属性,但对于自定义属性便无能为力
attr() | prop() | |
---|---|---|
下拉框 | 未选中:undefined 选中:selected | 未选中:false 选中:true |
多选框 | 未选中:undefined 选中:checked | 未选中:false 选中:true |
总结:
- 要动态添加一个新的属性,需要利用attr(),使用prop()是无效的。对于自定义属性的操作,使用attr()
- 对于固有属性两者看情况使用,对于属性值是Boolean的方法,使用prop()
开发中遇到的问题:
$("#statusCode option[value='00']").removeAttr("selected");
$("#statusCode option[value='01']").removeAttr("selected");
$('#statusCode').val('01') // 直接设置选中value为'01'的下拉框
// 以下这种方法在基本的html中可行,在layui表单中渲染后,无效
/*$("#statusCode option[value='01']").attr("selected", true);*/
layui.form.render()//渲染表单