HTML 中有一些特色叫做布尔特色(Boolean Attribute),只需特色名存在,不论特色值是什么、存不存在,都代表对应的某个内部状态为 true,只需特色名不存在,才代表 false。 比如常见的 上的 disabled和readonly,或许 上的 controls、 loop 等。
怎么切换布尔特色的值HTML 规范中内置的这些布尔特色,都会在 DOM 上存在同名(大小写可能不同,比如 readonly 的反射特色叫 readOnly)的反射特色,比如 HTML 是 的话,就会存在个input.disabled 特色且初始值是 true,你还可以通过 DOM 特色来修正正本的 HTML 特色,比如实行 input.disabled = false后,HTML 中的 disabled特色就不存在了。所以假定foo是一个内置的布尔特色,我们可以通过 element.foo = !element.foo这样简略的代码来完结布尔特色的切换。
但假设我们想切换的特色不是一个 HTML 中内置的布尔特色,而是在本身业务中,比如说在一般的 div标签上界说的一个布尔特色呢?再想想未来的规范的话,我们自己创建的一个 custom element 上界说的布尔特色该怎样切换呢?那可能就需要自己用 setAttribute()/removeAttribute()方法封装一个函数了。Element.toggleAttribute() 来了
input.toggleAttribute('disabled') // 相当于现在的 input.disabled = !input.disabled input.toggleAttribute('disabled', input.value > 10) // 相当于现在的 input.disabled = input.value > 10
你可能有过将一个非布尔特色的值来回在某两个值比如 foo 和bar之间切换的需求,toggleAttribute() 不是用来干这个的。
浏览器的完结进展 现已完结了,其它三大浏览器厂商也现已明晰表态会完结这个方法。
郑州割包皮医院哪家好:http://www.zzchanghong110.com/郑州同济医院割包皮:http://www.zzchanghong110.com/郑州割包皮好医院:http://www.zzchanghong110.com/郑州哪家男科医院好:http://www.zzchanghong110.com/郑州检查男科疾病去哪家医院:http://www.zzchanghong110.com/郑州做包皮手术哪家医院便宜:http://www.zzchanghong110.com/郑州专业男科医院:http://www.zzchanghong110.com/郑州割包皮医院:https://yyk.familydoctor.com.cn/12248/