【原创】01-1. 基于 checked 关于 attribute 和 property 的理解
- Attribute(属性) 和 Property(特性)
- Attribute(元素节点的属性),例如html中常用的class、title、align等(即:属性节点).而Property 是这个DOM元素作为对象的属性,例如 childNodes、firstChild等(即:特性):
通过 谷歌开发者工具 查看:
- 问题引入:

- 很多'attribute属性' 都有一个与之对应的 'property特性':即 "特性value" 和 "属性value" 是对应的,所以添加了value 特性 审查元素可以 看到的"value属性节点". (注意:‘class属性节点’对应的特性名 是:className,因为class 是 js 的保留字。)
- 需要注意的是:对于‘特性checked’(property)不是对应它 'checked属性'(attribute), 'checked属性' 实际对应的是‘特性defaultChecked';
类似的还有:<input type="text" value="" />中,value属性节点 对应的是:defaultValue,实际手动往输入框内输入的内容,是与 value特性 相对应的。
此时可以 显示出来了。defaultChecked 作用:设置复选框初始化的值,如下:
checked 对应的‘property(defaultChecked)’不会因为复选框的状态而改变,而checked 的‘property(checked)’才是与复选框的选中状态保持动态改变的。
所以在.attr()函数中,就算 属性节点 设置成了.attr("checked",true),也只是用来存储默认或者选中属性的 初始默认值,却并不改变该复选框被选中和选中。
这也就是为什么checkbox标签 已有 checked=checked属性节点, 却没显示勾选 的原因所在!!因为该属性节点的显示是由‘ property(defaultChecked)’决定的。而实际是否选中 状态是与 ‘property(checked)’有关。
<input type="checkbox"/> // JS 给 复选框 的“checked”属性 赋值,直接 xxx.checked=true; 或 $(element).prop("checked",ture); - 对于一个checkbox,若未定义checked="checked",alert($(element).attr("checked")) 的结果是undefined。若已定义则结果是checked。
- PS:在这里的getAttribute方法有一个潜规则,部分属性(input 的 value和checked)通过 getAttribut 始终取到的是初始值。
- ss
【原创】01-1. 基于 checked 关于 attribute 和 property 的理解的更多相关文章
- 2019/01/17 基于windows使用fabric将gitlab的文件远程同步到服务器(git)
觉得django项目把本地更新push到gitlab,再执行fabric脚本从gitlab更新服务器项目挺方便的,当然从本地直接到服务器就比较灵活. 2019/01/17 基于windows使用fab ...
- 【原创】打造基于Dapper的数据访问层
[原创]打造基于Dapper的数据访问层 前言 闲来无事,花几天功夫将之前项目里用到的一个数据访问层整理了出来.实现单个实体的增删改查,可执行存储过程,可输出返回参数,查询结果集可根据实际情况返回 ...
- javascript DOM 操作 attribute 和 property 的区别
javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...
- JavaScript的attribute和property辨析
1.Attribute Attribute是HTML上设置的属性,在html中显式地设置,或者通过setAttribute()方法设置. <input type='text' id='txt' ...
- jQuery的attr与prop,attribute和property区别
jQuery1.6中新添加了一个prop方法,看起来和用起来都和attr方法一样,这两个方法有什么区别呢?这要从HTMl 的attribute与property区别说起,attr与prop正是这两个东 ...
- attribute和property兼容性分析
上一篇文章中,详细的分析了他们的区别,请看Javascript中的attribute和property分析 这次,来详细的看下他们的兼容性,这些内容主要来自于对于jQuery(1.9.x)源代码的分析 ...
- Javascript中的attribute和property分析
attribute和property这两个单词,都有属性的意思,attribute有属性.特质的意思,property则有性质,性能的意思. 首先需要明确的是,在规范中,读取和设置attribute的 ...
- boolean attribute(布尔值属性) attribute vs property
boolean attribute(布尔值属性) boolean attribute HTML - Why boolean attributes do not have boolean val ...
- HTML中的attribute和property
一.概述 attribute和property是常常被弄混的两个概念. 简单来说,property则是JS代码里访问的: document.getElementByTagName('my-elemen ...
随机推荐
- python web -- flask
Flask是一个简洁的 Python_web 框架. 零. virtualenv 虚拟环境配置. $ easy_install pip $ pip install virtualenv $ virtu ...
- JS获取浏览器类型和版本号
JS获取浏览器类型和版本号,增加了IE11的判断. 2015/7/5更新: 简化代码逻辑 var zbrowser = {} var ua = navigator.userAgent.toLowerC ...
- 你不知道的 flex 技巧
一.使用 Auto Margins 对齐 不需要给图片使用任何的 flex,也不需要给父容器设置 space-between,只需要给 ' BUY-BUY-BUY' 按钮设置 margin-left: ...
- Java学习笔记--反射API
反射API 1.反射API的介绍 通过反射API可以获取Java程序在运行时刻的内部结构.比如Java类中包含的构造方法.域和方法等元素,并可以与这些元素进行交换. 按照 一般地面向对象的设计 ...
- DocNan博文目录
算法 时频分析:窗口傅立叶变换 数学误区:乘积的求和 MHD simulation with python Linux Linux: Bash基本命令 Linux: 安装和启用firefox浏览器的j ...
- CSS(3)实现水平垂直居中效果
CSS实现水平垂直居中对齐 在CSS中实现水平居中,会比较简单.常见的,如果想实现inline元素或者inline-block元素水平居中,可以在其父级块级元素上设置text-align: cente ...
- javascript中apply,call,bind区别,bind兼容等问题总结
1 三者的相似之处: (1).都是用来改变函数的this对象的指向的 (2).都是用第一个参数来做this对象的指向 (3).都可以传参数进去 那么,具体到它们有什么区别呢?请看下面的例子: 两个对象 ...
- 5.Smart使用内置函数或者自定义函数
1.使用内置函数 例如使用date函数 {"Y-m-d"|date:$time}格式{第一个参数|方法:第二个参数:第三个参数}即可转换成 2016-07-19 2.使用resi ...
- (转载)Oracle10g 数据泵导出命令 expdp 使用总结(一)
原文链接:http://hi.baidu.com/edeed/item/890626ef6f6d9d265b2d646f Oracle10g 数据泵导出命令 expdp 使用总结(二)Oracle10 ...
- FileMethods
}else { System.out.println("不能写入此文件"); } System.out.println("此文件最后修改时间是2000年1月1日后的&qu ...