通過(guò)jQuery中的attr()方法給checkbox設(shè)置禁用或者勾選效果時(shí),遇到了一些難以理解的問(wèn)題,首先,因?yàn)?對(duì)應(yīng)boolean 中的true,0對(duì)應(yīng)boolean中的false,所以就想通過(guò)將0或者1作為參數(shù)來(lái)實(shí)現(xiàn)checkbox的勾選或者禁用效果。
設(shè)置checked屬性

現(xiàn)象:將1作為參數(shù)調(diào)用方法時(shí),復(fù)選框能正常勾選上,然而將0作為參數(shù)時(shí),并沒(méi)按照我的想法,取消勾選,復(fù)選框依然勾選上的
同理,設(shè)置disabled屬性

現(xiàn)象:將1作為參數(shù)設(shè)置復(fù)選框禁用效果時(shí),能夠?qū)崿F(xiàn)禁用效果,然而將0作為參數(shù)時(shí),卻沒(méi)有按照我的預(yù)想,取消掉禁用
在以上兩個(gè)測(cè)試中,如果直接將布爾值true或者false作為參數(shù)調(diào)用方法時(shí),效果實(shí)現(xiàn)正常。使用jQuery 中prop()方法設(shè)置復(fù)選框禁用或者勾選效果時(shí),則不存在以上方法中出現(xiàn)的問(wèn)題,補(bǔ)充,當(dāng)取消勾選或者取消禁用無(wú)效時(shí),可以使用removeAttr()方法可以實(shí)現(xiàn)相同效果。猜測(cè)導(dǎo)致這個(gè)問(wèn)題出現(xiàn)的原因可能是property與attribute之間的不同。可能導(dǎo)致該問(wèn)題的原因 將domElement.checked賦值為1或者0,實(shí)現(xiàn)勾選、禁用的效果正常,然而,使用dom.setAttribute()方法時(shí),checked和disabled參數(shù)無(wú)論是1或者0,true或者false,都是勾選上或者被禁用了的。