【原创】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学习笔记:第一章
这一章中作者简要的介绍了python数据模型,主要是python的一些特殊方法.比如__len__, __getitem__. 并用一个纸牌的程序来讲解了这些方法 首先介绍下Tuple和nametup ...
- 单机部署 kubernets 方法汇总
#minikube : 可以方便的在本机用虚拟机创建一个开箱即用的Kubernetes集群 #kubeadm : 可以自动化的将多台Ubuntu或者CentOS主机组建成集群 #nanokube,ki ...
- jQuery未定义错误原因(jQuery is not define)
使用jQuery时,必须把它写在最前面,这样浏览器才会先加载jQuery,否则会提示缺少对象. 正确 <script type="text/javascript" src=& ...
- Markdown: 编译pdf
在网上发布博文的时候希望能顺便在本地保存一份记录,这样总结的东西很多的时候就可以写成一本给自己看的小书了.在linux下面有两个选择latex和markdown,虽然latex非常强大,但是很少有博客 ...
- JAVA优雅停机的实现
最近在项目中需要写一个数据转换引擎服务,每过5分钟同步一次数据.具体实现是启动engine server后会初始化一个ScheduledExecutorService和一个ThreadPoolExec ...
- 学习php语法--数据库扩展(总结篇)
前 言 php php中的数据库扩展mysql语法--本篇学习都是通过使用数字天堂的HBuider开发环境,连接mysql数据.介绍php连接mysql数据库的代码与函数. 本篇学习主要有两 ...
- [leetcode-434-Number of Segments in a String]
Count the number of segments in a string, where a segment is defined to be a contiguous sequence of ...
- Swift 路由机制设计
设计模式 APP设计模式多种多样,从最初的MVC到MVVM,再到MVP,VIPER等.越来越多的设计模式被开发出来并得以应用,但不论我们用到哪种设计模式,只需要记住高内聚.低耦合那边是好的设计模式.在 ...
- 3.sublime vue 语法高亮插件安装
默认情况下,Vue.js 的单文件组件(*.vue)在 sublime 编辑器中是不被识别的.若要想高亮显示,需要安装插件 Vue Syntax Hightlight.安装步骤如下: 第一,在 s ...
- 浙江省新高中信息技术教材,将围绕Python进行并增加编程相关知识点
2017年初消息: 浙江省信息技术新教材,即将在2017级(2017年9月入学)高中新生中开始使用. 据了解,与目前的选考(可以理解为高考科目)要求的信息技术教材由3本<信息技术基础>.& ...