js中Attribute和Property区别
js中Attribute和Property区别
js中Attribute和Property区别一、JS中Property
属性,就像C#等高级语言可以.获取或者设置其值;
特点
1、其值可以为任意值
2、名字区分大小写。
3、当调用innerHTML时不会显示出来。
二、JS中Attribute
特性,每一个dom元素都有一个attributes属性来存放所有的attribute节点,通过getAttribute()和setAttribute()方法来进行获取和操作。
特点
1、只能为字符串
2、名字与大小写无关,因为HTML attribute是大小写无关的。
3、当调用innerHTML时会显示出来。
4、你可以通过调用 attributes 属性对它们进行遍历。
三、JS中Property和Attribute的共性
常用的Attribute,例如id、class、title等,已经被作为Property附加到DOM对象上,可以和Property一样取值和赋值。但是自定义的Attribute,就不会有这样的特殊优待
例如
<li id="li1" class="liClass" title="liTitle" title1="liTitle1">100</li>
这个li里面的“title1”就不会变成Property。
即,只要是DOM标签中出现的属性(html代码),都是Attribute。然后有些常用特性(id、class、title等),会被转化为Property。
四、Attribute取值
用getAttribute()来操作即可。
var id = li1.getAttribute("id");
var className1 = li1.getAttribute("class");
var title = li1.getAttribute("title");
var title1 = li1.getAttribute("title1"); //自定义特性
五、Attribute赋值
li1.setAttribute('class', 'a');
li1.setAttribute('title', 'b');
li1.setAttribute('title1', 'c');
li1.setAttribute('title2', 'd');
用setAttrbute()赋值,任何Attribute都可以,包括自定义的。而且,赋值的Attribute会立刻表现到DOM元素上。
setAttribute()的两个参数,都必须是字符串。即对特性Attribute职能赋值字符串,而对属性Property就可以赋任何类型的值了。
六、Property取值
属性取值很简单。取任何属性的只,用“.”就可以:
var id = li1.id;
var className = li1.className;
var childNodes = li1.childNodes;
var attrs = li1.attributes;
class特性在变成属性时,名字改成了“className”,因此li1.className和li1.getAttrbute('class')相同。
七、Property赋值
赋值和基本的js对象属性赋值一样,用“.”即可:
li1.className = 'a';
li1.align = 'center';
- javascript:void(0)的用法
- javascript 自带格式化时间(JavaScript内置日期、时间格式化时间实例代码)
- JavaScript 常用的开发规范
- javascript如何判断类型(JavaScript如何优化逻辑判断代码详解)
- jsfor循环是什么意思(JavaScript中三种for循环语句的使用总结for、for...in、for...of)
- js实现继承的五种(JavaScript继承的三种方法实例)
- javascript数组实例扩展方法(JavaScript如何监测数组的变化)
- javascript 函数生命周期(JavaScript sleep睡眠函数的使用)
- js绘制平滑路径(如何利用Javascript生成平滑曲线详解)
- javascript学习参数(详解JavaScript堆栈与拷贝)
- JavaScript中使用concat合并数组
- jspromise原理(JavaScript使用promise处理多重复请求)
- js的模块模式设计(如何理解JavaScript模块化)
- JavaScript中call、apply、bind实现原理详解(JavaScript中call、apply、bind实现原理详解)
- JavaScript instanceof 的用法
- javascript的作用域详解精简版(浅谈JavaScript 中的延迟加载属性模式)
- 焕然一新 成都轨道集团官方网站改版上线(成都轨道集团官方网站改版上线)
- 成都轨道交通19号线二期全线电通(成都轨道交通19号线二期全线电通)
- 19号线二期全线电通 轨道交通项目最新进展来了(19号线二期全线电通)
- 涉及3条地铁线路 成都这4座轨道交通站点有新名字了(涉及3条地铁线路)
- 来了 成都轨道交通5条线路刷新 进度条(成都轨道交通5条线路刷新)
- 一部手机两套系统 OPPO Find X3的正确打开方式你知道吗(一部手机两套系统)
热门推荐
- 查看docker image版本(解决docker images 镜像消失的问题)
- sqlserver追加主键(sqlserver主键自增的实现示例)
- laravel获取客户端ip(对laravel的session获取与存取方法详解)
- 由于Web服务器上的“ISAPI 和CGI 限制”的解决方法
- python实现最简单的游戏(20行python代码的入门级小游戏的详解)
- HTML5 audio标签
- mysql日常运维(MySQL从库维护经验分享)
- 数据库服务器系统架构图(网站服务器常用数据库的介绍)
- vue的路由模式有几种(Vue 路由返回恢复页面状态的操作方法)
- mysql索引面试总结(Mysql数据库索引面试题程序员基础技能)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9