【原创】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 ...
随机推荐
- Ruby中文乱码问题
中文乱码问题 解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*-(EMAC写法) 或者 #coding=utf-8 就行了. 源代码文件中,若包含中文编码,则需要注意两点: ...
- position定位和添加阴影
定位:style="position: absolute; bottom: 0; width: 100%;background: rgb(255, 255, 255);padding-bot ...
- Vue按需加载提升用户体验
Vue官方文档异步组件: 在大型应用中,我们可能需要将应用拆分为多个小模块,按需从服务器下载.为了让事情更简单, Vue.js 允许将组件定义为一个工厂函数,动态地解析组件的定义.Vue.js 只在组 ...
- ecshop开发帮助
http://www.ecshop.com/template_tutorial/ ECSHOP模板结构说明 http://help.ecshop.com/index.php ECSHOP帮助中心 ht ...
- JavaWeb 环境搭建
环境搭建 JDK7 Java基本开发工具包 安装(目录[不要使用中文和空格].JDK+JRE) 配置环境变量[JAVA_HOME.path.classpath] 2. Tomcat7 提 ...
- Hibernate的使用
1 创建一个Java项目,在项目中新建一个lib,将需要的Hibernate包和MySQL包导入,并Build Path 2 在src下添加Hibernate.cfg.xml在此文件中对Hiberna ...
- vmware克隆虚拟机后网卡名称及网络地址xiuf
使用vmware克隆虚拟机后,若原主机网卡名称为eth0,那么克隆后的主机使用ifconfig查看仅能看到一个名称为eth1的网卡 并且在/etc/sysconfig/network-scripts/ ...
- 【 js 基础 】Javascript “继承”
是时候写一写 "继承"了,为什么加引号,因为当你阅读完这篇文章,你会知道,说是 继承 其实是不准确的. 一.类1.传统的面向类的语言中的类:类/继承 描述了一种代码的组织结构形式. ...
- MySQL数据表的创建、查看、插入
数据表:数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础. 1.首先我们打开一个数据库(这里我打开的是新创建的一个aaa数据库). 打开数据库:use + 数据库名; 2 ...
- http请求的完整过程
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: 1. 建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该 ...