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';
- jspromise原理(JavaScript使用promise处理多重复请求)
- javascript函数的递归调用记得加上return
- 用javascript解析json(JavaScript JSON.stringify的使用总结)
- javascript变量值做函数名(JavaScript中变量提升和函数提升实例详解)
- 浏览器怎么显示javascript页面(JavaScript如何通过userAgent判断几个常用浏览器详解)
- JavaScript命名空间
- javascript作用域实例(JavaScript defineProperty如何实现属性劫持)
- 在html中使用javascript实例代码(原生 JS+CSS+HTML 实现时序图的方法)
- javascript里字符串描述(JavaScript字符串操作的四个实用技巧)
- js宏任务都有哪些(JavaScript 操作宏任务与微任务)
- js三级联动说明(基于JavaScript实现省市联动效果)
- javascript怎么生成html控件(JavaScript+html实现前端页面滑动验证2)
- javascript中window对象
- js实现div(javascript拖曳互换div的位置实现示例)
- javascript中图片轮播效果代码(JavaScript实现简单的轮播图效果)
- JavaScript中==和===的区别
- 粗盐是什么 粗盐的功效与作用(粗盐的功效与作用)
- 会 吃人 的客机 从天堂到地狱只需5分钟,图-104如何做到(会吃人的客机)
- 男人犯的错,为什么要女人来承担(为什么要女人来承担)
- 心理学 四个金蟾,哪个最招财 测你今生的运势有多棒(心理学四个金蟾)
- 吉善缘《聚宝金蟾》金蟾招财摆件 三足全铜蟾蜍客厅店铺开业礼品(吉善缘聚宝金蟾金蟾招财摆件)
- 招财化煞神兽,金蟾变了(招财化煞神兽金蟾变了)
热门推荐
- vue项目做过哪些打包优化(Vue项目优化的一些实战策略)
- 多个tomcat实例配置文件(tomcat单机多实例的实现)
- centos中安装sql图(CentOS 7.3上SQL Server vNext CTP 1.2安装教程)
- css下填充代码(CSS学习笔记之常用Mixin封装实例代码)
- python怎么导入beautifulsoup元素(python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比)
- vue 单文件组件(vue实现一个单文件组件的完整过程记录)
- vue加element ui弹窗(Vue中ElementUI分页组件Pagination的使用方法)
- mysql的连接代码(MySQL 连接查询的原理和应用)
- python的mqtt循环发布(python 发送和接收ActiveMQ消息的实例)
- laravel事务状态(laravel dingo API返回自定义错误信息的实例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9