国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jQuery中attr()和prop()在修改checked屬性時的區別

2019-11-20 14:20:52
字體:
來源:轉載
供稿:網友

在做復選框全選按鈕的時候,出現了一個問題,使用語句$.attr('checked',true),將復選框的屬性改為被選中,在chrome瀏覽器中第一次點擊有效后面就不行了,IE8倒是沒有問題。

百度了很久找到原因是HTML的屬性分為attribute和property,暫且將后者稱為特性。

checked屬性即分為attribute->checked,和property->true,false。

對于一個checkbox,若未定義checked="checked",alert($.attr("checked")) 的結果是undefined。若已定義則結果是checked。attribute并不隨著checkbox的狀態變化而改變。

使用prop($.attr("checked"))的話輸出則分別為false和true。property則隨其變化而變化。

所以在修改checked屬性時要使用prop()。prop()在jQuery1.6版本后新增。

網上關于其他類似屬性的圖表:

另外關于在IE9之前版本中,如果property沒有在DOM元素被移除之前刪除,使用.prop()方法設置DOM元素property(簡單類型除外:number、string、boolean)的值會導致內存泄露。為了安全的設置DOM對象的值,避免內存泄露,可以使用.data()方法。 目前尚未遇到,先記在這里。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 明溪县| 大洼县| 密云县| 蓬溪县| 鲁甸县| 潮州市| 瑞丽市| 城口县| 棋牌| 孙吴县| 云龙县| 唐海县| 海宁市| 治县。| 吐鲁番市| 商河县| 镇江市| 鸡东县| 泊头市| 乳源| 特克斯县| 资溪县| 静安区| 桂平市| 乌拉特后旗| 潮州市| 南木林县| 曲松县| 平罗县| 如皋市| 全南县| 资兴市| 寿光市| 呈贡县| 阆中市| 德兴市| 衡阳县| 桂东县| 商城县| 堆龙德庆县| 永嘉县|