资讯专栏INFORMATION COLUMN

关于disabled的事,你用对了吗?

sunnyxd / 3616人阅读

大家都知道disabled属性用来禁用表单里的元素。如果让你来禁用一个表单元素,你会怎么做么,下面提供几种写法,各位看官请看

html: 
 var btn=document.querySelector("button");
 1.  btn.disabled=true;
 2.  btn.disabled="disabled";
 3.  btn.setAttribute("disabled",true);
 4.  btn.setAttribute("disabled","disabled")

经过试验,上述几种写法都生效了,我们都知道,在html5中disabled是一个布尔值,上述几种写法渲染出来之后,在他的properties里可以查看到这些都是为true,3,4,方法中,元素的标签上分别为

3. 
4. 

如果要重新激活这个按钮的话,你可能看到过下面的几种写法

1. btn.disabled=false;
2. btn.disabled="";
3. btn.setAttributed("disabled",false);// 不生效
4. btn.removeAttribute("disabled");

这个时候就有小伙伴站出来了,第三种写法为什么不生效呢???
其实是这样子的,在html5里面,disabled是一个布尔值,我们可以设置他的值为true或者false,而在XHTML里面disabled是一个常规的属性,设置他的值就是用setAttribute,所以用setAttribute("disabled",false) 是不生效的

所以,正规的写法是

1. btn.disabled=true;
   btn.disabled=false;

2. btn.setAttribute("disabled","disabled");
   btn.removeAttribute("disabled");

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

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

相关文章

  • 关于disabled的事你用对了

    大家都知道disabled属性用来禁用表单里的元素。如果让你来禁用一个表单元素,你会怎么做么,下面提供几种写法,各位看官请看 html: test var btn=document.querySelector(button); 1. btn.disabled=true; 2. btn.disabled=disabled; 3. btn.setAttribute(disabled,tr...

    BaronZhang 评论0 收藏0
  • JavaScript中错误正确处理方式,你用对了

    摘要:单元测试会体现出以上错误处理程序的作用如果出现问题,错误处理程序就会返回。同时错误会展开堆栈,这对调试非常有帮助。展开堆栈处理异常的一种方式是在调用堆栈的顶部加入。确保你的错误处理处在相同域中,这样会保留原始消息,堆栈和自定义错误对象。 JavaScript的事件驱动范式增添了丰富的语言,也是让使用JavaScript编程变得更加多样化。如果将浏览器设想为JavaScript的事件驱动...

    chaos_G 评论0 收藏0
  • 2019-我的前端面试题

    摘要:先说下我面试情况,我一共面试了家公司。篇在我面试的众多公司里,只有同城的面问到相关问题,其他公司压根没问。我自己回答的是自己开发组件面临的问题。完全不用担心对方到时候打电话核对的问题。 2019的5月9号,离发工资还有1天的时候,我的领导亲切把我叫到办公室跟我说:阿郭,我们公司要倒闭了,钱是没有的啦,为了不耽误你,你赶紧出去找工作吧。听到这话,我虎躯一震,这已经是第2个月没工资了。 公...

    iKcamp 评论0 收藏0
  • 设计模式系列·Facade模式之MVC的烦恼

    摘要:没有任何意外,王小二的公司用来开发公司的主打产品。臃肿的着手开干吧小二打开熟悉的,找到提交订单模块的。要不再去请教下哥的烦恼小二找到哥,详细的描述了他的问题。 流行的MVC架构模式 如今的Web开发,各种框架风起云涌,势如破竹。 从国民第一的ThinkPhp到称霸全球的Laravel,这些框架有一个共同特征,都采用了MVC的架构模式。 showImg(https://segmentfa...

    zhichangterry 评论0 收藏0

发表评论

0条评论

sunnyxd

|高级讲师

TA的文章

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