资讯专栏INFORMATION COLUMN

复选框回显 选用prop()不用attr()

Olivia / 3565人阅读

设置一个复选框回显示
使用attr()添加checked属性
但是在回显的过程中会使复选框出现混乱的情况有一些并没有回显
如果给他添加一个checked的class就会导致复选框不可点击这种做法是不对的
需要用prop替代

        function updateCheckboxState(data, type) {
         
            var elType = type ? ("#" + type + "_") : "#";
            for (var x in data) {
                if (data[x] == "1") {
                    $(elType + x).prop("checked", true);
                    // $(elType + x).addClass("checked");
                } else {
                    $(elType + x).prop("checked", false);
                    // $(elType + x).removeClass("checked");
                }
            }
        }
      

现在说一下为什么需要用prop()替代呢
使用attr()点击 checkbox,结果都是 undefined
attr() prop()
两者分别是获取/设置 attributes 和 properties 的方法

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

attr() 里面,最关键的两行代码

elem.setAttribute( name, value + "" ); 

ret =  elem.getAttribute( name );

很明显的看出来,使用的 DOM 的 API setAttribute() 和 getAttribute() 方法操作的属性元素节点。

prop() 里面,最关键的两行代码

return ( elem[ name ] = value );

return elem[ name ];
可以理解为 document.getElementById(el)[name] = value,这是转化成 element 的一个属性。



或者
$("elType + x").attr("value",true/false)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102691.html

相关文章

  • jQuery中attr()和prop()的区别

    摘要:需求很简单的,一个非常简单的复选框的使用。与的区别复选框设置设置自定义自定义设置类型设置类型支持类型在这里温馨提示提示一下,当我们设置这个属性时,再用获取的时候,控制提示。 问题引入 昨天接到了一个活,里面有一个小需求,在写的过程中遇到了一个小问题。虽然这个问题并不是很复杂的东西,但却是一个比较细节的问题。相信不少新手前端会遇到。下面我先描述一下我这个遇到的这个需求。 showImg(...

    mo0n1andin 评论0 收藏0
  • 傻傻的分也分不清楚的property和attribute

    摘要:最近,一个小伙伴问了我一个问题和的区别当时我想了又想,很不好意思的说了我不知道,所以,抽了个事件好好的利用了一下度娘和总结了一下。 最近,一个小伙伴问了我一个问题property和attribute的区别?当时我想了又想,很不好意思的说了我不知道,所以,抽了个事件好好的利用了一下‘度娘’和‘Google’总结了一下。度娘搜索到的有用信息知乎中的讨论csdn搜索的结果,Google发现的...

    SimpleTriangle 评论0 收藏0
  • Struts2【UI标签、数据回显、资源国际化】

    摘要:值得注意的是的值是文件的全名也就是说,如果有包,就把包名写上并且,不需要写上后缀标签使用国际化的值是配置文件中配置的信息,写上就行了登陆测试注意,已经替换成了中文了如果文章有错的地方欢迎指正,大家互相交流。 Struts2UI标签 Sturts2为了简化我们的开发,也为我们提供了UI标签...也就是显示页面的标签..... 但是呢,Struts2是服务端的框架,因此使用页面的标签是需要...

    graf 评论0 收藏0
  • js/jQuery中单选框、下拉框的取值、设置

    摘要:中单选框下拉框的取值设置一单选框前言中,方法获取的是元素的属性而获取的则是元素的特性。和应使用方法进行取值或赋值。 js/jQuery中单选框、下拉框的取值、设置 一.单选框 前言:jQuery中,prop()方法获取的是元素的属性(property),而attr()获取的则是元素的特性(attribute)。selectedIndex, tagName, nodeName, node...

    YorkChen 评论0 收藏0
  • jQuery实用的一些技巧

    摘要:元素的大小设置可以在图片加载完成后计算。禁用输入有时你可能需要用表单的提交按钮或者某个输入框直到用户执行了某个动作比如检查我已阅读条款复选框。如果文本不存在,则这个元素将被隐藏可见变化的触发当用户不再聚焦或者重新聚焦一个标签时触发脚本转载 引子 jQuery的存在,让学习前端开发的人感到前端越来越容易入门了,用简单的几行代码就可以实现需求,但是,你真的会用jQuery么,当代码运行后无...

    niuxiaowei111 评论0 收藏0

发表评论

0条评论

Olivia

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<