国产探花免费观看_亚洲丰满少妇自慰呻吟_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()方法。 目前尚未遇到,先記在這里。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泾阳县| 琼海市| 古丈县| 永安市| 安庆市| 浙江省| 连平县| 图木舒克市| 鸡泽县| 无为县| 新蔡县| 吴川市| 茂名市| 华亭县| 兴业县| 湘潭县| 兴安盟| 娱乐| 云浮市| 启东市| 阿克苏市| 搜索| 莱西市| 玉门市| 吴旗县| 育儿| 云和县| 大田县| 闵行区| 三都| 芷江| 伽师县| 申扎县| 蒲城县| 建阳市| 永德县| 巨野县| 宜州市| 会东县| 南郑县| 沅江市|