博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Attribute与Property关系
阅读量:4974 次
发布时间:2019-06-12

本文共 1401 字,大约阅读时间需要 4 分钟。

总的来说,其实是HTML Attribute 与 DOM property之间的关系。

1 什么是Property?

JS DOM Object对象有property。一个property可能是不同数据类型的(boolean,string,etc.),而且这些property普遍都是标准的(即可以通过'.'操作符直接引用property的值)。

1 Hi // obj.href obj.className obj.name obj.id etc.

2 什么是Attribute?

Attribute只是针对HTML本身(即HTML标签内直接写着的),一个attribute只有String一种数据类型。

1 2 $('input').prop('checked'); // property -> returns true3 $('input').attr('checked');  // attribute -> returns "checked"

3 不同点

a 如果一个元素有一个默认value,attribute总是显示Html本身上的值,即使property已经对value做出了改变。

1 2 $('input').prop('value', '456user'); //改变property值3 $('input').prop('value'); // returns "456user"4 $('input').attr('value');  // returns "user123"

b HTML元素标签内定义属性对Attribute和Property影响。

标准属性概念是对于DOM Object存在的,比如id,className,dir,etc. 定义标准属性,同时影响attribute和property 定义非标准属性,只在attribute中存在,而不在property 1 2 $('input').attr('custom');  // returns "something"3 $('input').prop('custom'); // returns undefined

c 代码更改属性对Attribute和Property影响。

// 添加标准属性,同时影响attribute和property  1 
2 var div = document.getElementById('test'); 3 div.className = 'red-input'; 4 div.getAttribute('class'); // return string: "red-input" 5 div.setAttribute('class','green-input'); 6 div.className; // return string: "green-input" // 添加非标准属性,互相不影响 7 div.jjj = 123; 8 div.getAttribute('jjj'); // return null 9 div.setAttribute('lll', 123);10 div.lll; // return undefined;

转载于:https://www.cnblogs.com/liutie1030/p/6003936.html

你可能感兴趣的文章
TL431的几种常用用法
查看>>
js 经典闭包题目详解
查看>>
在项目中移除CocoaPods
查看>>
【洛谷】CYJian的水题大赛【第二弹】解题报告
查看>>
POJ 1703 Find them, Catch them【种类/带权并查集+判断两元素是否在同一集合/不同集合/无法确定+类似食物链】...
查看>>
L1-5. A除以B【一种输出格式错了,务必看清楚输入输出】
查看>>
Git一分钟系列--快速安装git客户端
查看>>
纵越6省1市-重新启动
查看>>
hive安装以及hive on spark
查看>>
jz1074 【基础】寻找2的幂
查看>>
Wannafly模拟赛5 A 思维 D 暴力
查看>>
【Linux开发】CCS远程调试ARM,AM4378
查看>>
Linux之ssh服务介绍
查看>>
排序:冒泡排序
查看>>
Java中instanceof关键字的用法总结
查看>>
引用类型-Function类型
查看>>
(转)Android 仿订单出票效果 (附DEMO)
查看>>
数据库多张表导出到excel
查看>>
微信小程序去除button默认样式
查看>>
Where does Visual Studio look for C++ Header files?
查看>>