首页 > 试题广场 >

页面有一个id为 button1的按钮,如何通过原生的js禁

[不定项选择题]
页面有一个id为 button1的按钮,如何通过原生的js禁用?(IE 考虑IE 8.0以上版本)
  • document.getElementById("button1").readonly= true;
  • document.getElementById("button1").setAttribute('readonly','true');
  • document.getElementById("button1").disabled = true;
  • document.getElementById("button1").setAttribute('disabled','true');
  查找到的解析

 js禁用
document.getElementByIdx_x_x("btnShow").disabled=true;(这样就把按钮禁用了
 如果要重新开启按钮,则可以让disabled=false;即可
jquery禁用
 利用jquery的attr的方法即可
 $("#btnShow").attr({"disabled":"disabled"});
如要让按钮恢复可用,可以采用removeAttr方法把disabled属性删除即可。
$("#btnShow").removeAttr("disabled");

发表于 2016-04-29 15:02:25 回复(7)
html表单元素的disable属性是否存在是关键 其值却无关紧要(js权威指南)
发表于 2016-11-14 16:49:30 回复(0)
D的true会转为布尔值,不是引号的问题。注意!!!添加移除attribute的方式,只有第一次有效,之后都是无效的(即便节点中有checked="checked")
发表于 2016-09-18 10:44:14 回复(1)
这个属性  应该是  只要添加了disabled属性之后 就会被禁止  , 如果要清除禁用  需要移除这个属性  ,,,,
发表于 2016-08-29 10:20:36 回复(0)
http://www.soso.io/article/21055.html
发表于 2016-06-17 21:02:55 回复(0)
为什么你们这说:Readonly只针对input(text/password)和textarea有效,而disabled对于所有的表单元素有效 ?????
不明白你们为什么都这么说???
①disabled和readOnly都是表单的公有属性, readOnly是只读, disabled是禁用。这里问的是禁用,所以是disabled。
②还有就是题目中的 readOnly写成了 readolny
③小知识点:setArrtibute在ie7以前是不能通过style和class设置属性的
发表于 2017-03-23 23:48:09 回复(5)
D不对啊,js不能这么设置,在jQuery中有类似的操作,js中disable值不能通过原生attribute方法赋值,只能通过removeAttribute移除,测试过了
修正,D选项是有效的,但是,个人仍然觉着这种操作有问题,因为实际上给通过setAttribute给disabled赋true和false 都会导致元素禁用......   jQuery里就体现的很好 attr() 和prop() 不一样意思....
编辑于 2016-07-05 20:06:56 回复(2)
Readonly只针对input(text/password)和textarea有效,而disabled对于所有的表单元素有效,包括select,radio,checkbox,button等。
发表于 2016-05-04 16:28:06 回复(14)
注意了,D的true是加了引号的,显然不对。
发表于 2016-09-10 12:35:52 回复(7)
  • 本人对于做过的面试题全部进行了梳理解析,分享给大家.这是JS部分,需要的可以看看:JavaScript专项练习

  • disabled和readOnly都是表单的公有属性, readOnly是只读, disabled是禁用。

    • 同时 Readonly 只针对 input(text/password) 和 textarea 有效,所以排除A、B项
  • 只要设置了 [disabled] 属性不论什么值都会禁用,包括 false,页面似乎只在乎是否有这个属性 而不在乎其值,所以对于选项四有疑惑的同学可以看我的图解
编辑于 2021-10-25 13:15:59 回复(0)
哪有废话那么多,CD都可以好么,disabled是布尔值,只要用setAttribute方法设置了,第二个参数无论是啥都会被转换为字符串,然后disabled再转化为布尔值,填第二个参数是null,undefined,false。。。都一样。根本原因就是html解析只到disabled就行了,后面都不鸟它
发表于 2017-04-05 23:13:22 回复(1)
经过测试,D可以实现禁用。
D答案的第二个参数不论是布尔值还是字符串还是数字,最终的结果都是禁用。
当然,可以通过removeAttribute去掉属性来解除禁用。
发表于 2017-11-01 10:46:17 回复(0)
D答案相当于可以禁用,但是不可恢复,C答案既可恢复也可禁用
发表于 2016-09-07 13:37:19 回复(0)
有兴趣的话可以试试setAttribute(“disabled”,”false”)和 setAttribute(“disabled”,false)二者也均会禁用按钮,我的理解是 setAttribute()方法要求传入的两个参数均是string类型,因此无论第二个参数传什么,js在解析的时候都会当成是string类型,string类型转换为布尔值就一定是true了
发表于 2017-06-01 10:50:53 回复(2)
Readonly只针对input(text/password)和textarea有效,而disabled对于所有的表单元素有效,包括select,radio,checkbox,button等。
发表于 2017-02-28 12:40:31 回复(0)
<button disabled="">① <button disabled="disabled"> <button disabled=""> 都是可以禁止button的,w3c推荐使用使用第一种, 所以dom.setAttribute(),不存在隐式装换 </button></button></button>
编辑于 2024-03-14 16:22:02 回复(0)
readonly只针对input(text/password)和textarea有效,而disabled对于所有的表单元素有效,包括select,radio,checkbox,button等。
setAttribute()括号里面第一个值是属性,第二个值是属性值用引号括起来,用逗号分开。
发表于 2024-03-01 16:15:03 回复(0)
readOnly针对的是输入控件,input和textarea。且js设置时建议使用. 元素.readOnly=true(或false);设置因为使用setAttribute设置时,一些原生属性设置的值不管是什么,存在即是true,即setAttribute(readOnly,false)无效
发表于 2023-03-04 11:40:20 回复(0)
这个题昨天我做了还是C,单选今天就变成不定项了
发表于 2022-11-04 09:59:24 回复(0)
readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等。
发表于 2022-03-19 16:00:19 回复(0)