属性attribute和property的区别
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body> <p id="intro">property: 指的是html 标签自带的属性,比如input 的value,id这些特有的属性,也就是说在w3c标准里面有提到的属性</p>
<input id="abc" name="name123" data="data123" value="value123">
<p>attributes:指的是html标签上面的所有属性,包括自定义属性,比如:data属性,mydata属性,daye属性</p>
<h2>
总结:
</h2>
<p>
1、property和attributies都是properties的子集,而每个attribute是attributies的子集;
</p>
<p>
2、attribute可以理解为特性,可以自定义,直接在html标签上添加的和使用setAttribute添加的情况一致,即html标签添加的都是attribute属性, <br>
property则是使用xx.属性进行更改,通常来讲,更改互相影响(value除外)
</p>
<p>
3、当添加新的非默认属性时,是不互通的;
</p>
<p>
4、一些特殊属性,则需要特殊对待。
</p>
<p>
js的setAttribute()、getAttribute(),jQ的prop()、attr()。
</p> </body>
<script src="http://libs.baidu.com/jquery/1.6.3/jquery.min.js"></script>
<script>
var x=document.getElementById("abc");
//1.1
console.log("1.1、");
console.log("修改前(x.value方式获取value的值):value="+x.value);
console.log("修改前(x.getAttribute('value')方式获取value的值):value="+x.getAttribute('value')); //1.2
console.log("1.2、");
console.log('通过x.value="value456";方式修改value的值。');
x.value="value456";
console.log("修改后(x.value方式获取value的值):value="+x.value);
console.log("修改后(x.getAttribute('value')方式获取value的值):value="+x.getAttribute("value")); //1.3
console.log("1.3、");
console.log('通过x.setAttribute("value","value789")方式修改value的值。');
x.setAttribute("value","value789");
console.log("修改后(x.value方式获取value的值):value="+x.value);
console.log("修改后(x.getAttribute('value')方式获取value的值):value="+x.getAttribute("value"));
console.log("**********************************************************************\n"); //2.1
console.log("2.1、");
console.log("修改前(x.data方式获取data的值):data="+x.data);
console.log("修改前(x.getAttribute('data')方式获取data的值):data="+x.getAttribute('data')); //2.2
console.log("2.2、");
console.log('通过x.data="data456";方式修改data的值。');
x.data="data456";
console.log("修改后(x.data方式获取data的值):data="+x.data);
console.log("修改后(x.getAttribute('data')方式获取data的值):value="+x.getAttribute("data")); //2.3
console.log("2.3、");
console.log('通过x.setAttribute("data","data789")方式修改data的值。');
x.setAttribute("data","data789");
console.log("修改后(x.data方式获取data的值):data="+x.data);
console.log("修改后(x.getAttribute('data')方式获取data的值):data="+x.getAttribute("data"));
console.log("**********************************************************************\n"); //3.1
console.log("3.1、");
console.log("修改前(x.name方式获取name的值):name="+x.name);
console.log("修改前(x.getAttribute('name')方式获取name的值):name="+x.getAttribute('name')); //3.2
console.log("3.2、");
console.log('通过x.name="name456";方式修改name的值。');
x.name="name456";
console.log("修改后(x.name方式获取name的值):name="+x.name);
console.log("修改后(x.getAttribute('name')方式获取name的值):name="+x.getAttribute("name")); //3.3
console.log("3.3、");
console.log('通过x.setAttribute("name","name789")方式修改name的值。');
x.setAttribute("name","name789");
console.log("修改后(x.name方式获取name的值):name="+x.name);
console.log("修改后(x.getAttribute('name')方式获取name的值):name="+x.getAttribute("name"));
console.log("**********************************************************************\n"); //4.1 JQ
console.log("4.1、");
console.log("修改前($('#abc').prop('value')方式获取value的值):value=" + $("#abc").prop('value'));
console.log("修改前($('#abc').attr('value')方式获取value的值):value="+$("#abc").attr('value'));
console.log("修改前(x.value方式获取value的值):value="+x.value);
console.log("修改前(x.getAttribute('value')方式获取value的值):value="+x.getAttribute('value')); //4.2
console.log("4.2、");
console.log('通过$("#abc").attr("value","*value456");方式修改value的值。');
$('#abc').attr("value","*value456");
console.log("修改后($('#abc').prop('value')方式获取value的值):value=" + $("#abc").prop('value'));
console.log("修改后($('#abc').attr('value')方式获取value的值):value="+$("#abc").attr('value'));
console.log("修改后(x.value方式获取value的值):value="+x.value);
console.log("修改后(x.getAttribute('value')方式获取value的值):value="+x.getAttribute("value")); //4.3
console.log("4.3、");
console.log('通过$("#abc").prop("value","*value789");方式修改value的值。');
$('#abc').prop("value","*value789");
console.log("修改后($('#abc').prop('value')方式获取value的值):value=" + $("#abc").prop('value'));
console.log("修改后($('#abc').attr('value')方式获取value的值):value="+$("#abc").attr('value'));
console.log("修改后(x.value方式获取value的值):value="+x.value);
console.log("修改后(x.getAttribute('value')方式获取value的值):value="+x.getAttribute("value"));
console.log("**********************************************************************\n"); //5.1
console.log("5.1、");
console.log("修改前($('#abc').prop('data')方式获取data的值):data=" + $("#abc").prop('data'));
console.log("修改前($('#abc').attr('data')方式获取data的值):data="+$("#abc").attr('data'));
console.log("修改前(x.data方式获取data的值):data="+x.data);
console.log("修改前(x.getAttribute('data')方式获取data的值):data="+x.getAttribute('data')); //5.2
console.log("5.2、");
console.log('通过$("#abc").attr("data","*data456");方式修改data的值。');
$('#abc').attr("data","*data456");
console.log("修改后($('#abc').prop('data')方式获取data的值):data=" + $("#abc").prop('data'));
console.log("修改后($('#abc').attr('data')方式获取data的值):data="+$("#abc").attr('data'));
console.log("修改后(x.data方式获取data的值):data="+x.data);
console.log("修改后(x.getAttribute('data')方式获取data的值):value="+x.getAttribute("data")); //5.3
console.log("5.3、");
console.log('通过$("#abc").prop("data","*data789");方式修改data的值。');
$('#abc').prop("data","*data789");
console.log("修改后($('#abc').prop('data')方式获取data的值):data=" + $("#abc").prop('data'));
console.log("修改后($('#abc').attr('data')方式获取data的值):data="+$("#abc").attr('data'));
console.log("修改后(x.data方式获取data的值):data="+x.data);
console.log("修改后(x.getAttribute('data')方式获取data的值):value="+x.getAttribute("data"));
console.log("**********************************************************************\n"); //6.1
console.log("6.1、");
console.log("修改前($('#abc').prop('name')方式获取name的值):name=" + $("#abc").prop('name'));
console.log("修改前($('#abc').attr('name')方式获取name的值):name="+$("#abc").attr('name'));
console.log("修改前(x.name方式获取name的值):name="+x.name);
console.log("修改前(x.getAttribute('name')方式获取name的值):name="+x.getAttribute('name')); //6.2
console.log("6.2、");
console.log('通过$("#abc").attr("name","*name456");方式修改name的值。');
$('#abc').attr("name","*name456");
console.log("修改后($('#abc').prop('name')方式获取name的值):name=" + $("#abc").prop('name'));
console.log("修改后($('#abc').attr('name')方式获取name的值):name="+$("#abc").attr('name'));
console.log("修改后(x.name方式获取name的值):name="+x.name);
console.log("修改后(x.getAttribute('name')方式获取name的值):name="+x.getAttribute("name")); //6.3
console.log("6.3、");
console.log('通过$("#abc").prop("name","*name789");方式修改name的值。');
$('#abc').prop("name","*name789");
console.log("修改后($('#abc').prop('name')方式获取name的值):name=" + $("#abc").prop('name'));
console.log("修改后($('#abc').attr('name')方式获取name的值):name="+$("#abc").attr('name'));
console.log("修改后(x.name方式获取name的值):name="+x.name);
console.log("修改后(x.getAttribute('name')方式获取name的值):name="+x.getAttribute("name"));
console.log("**********************************************************************\n"); </script>
</html>
属性attribute和property的区别的更多相关文章
- javascript DOM 操作 attribute 和 property 的区别
javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...
- attribute和property的区别
DOM元素的attribute和property很容易混倄在一起,分不清楚,两者是不同的东西,但是两者又联系紧密.很多新手朋友,也包括以前的我,经常会搞不清楚. attribute翻译成中文术语为“特 ...
- javascript中attribute和property的区别详解
DOM元素的attribute和property很容易混倄在一起,分不清楚,两者是不同的东西,但是两者又联系紧密.很多新手朋友,也包括以前的我,经常会搞不清楚. attribute翻译成中文术语为“特 ...
- boolean attribute(布尔值属性) attribute vs property
boolean attribute(布尔值属性) boolean attribute HTML - Why boolean attributes do not have boolean val ...
- js中Attribute和property的区别与联系
相信大多数的初学者对js中的property和attribute的关系很容易搞混, Attribute大多用于DOM的操作中,比如ele.attributes指的是一个元素的特性集合,是一个nodel ...
- JS中attribute和property的区别
attribute是HTML标签上的特性,它的值只能够是字符串:html 上id,class property是JavaScript里定义的对象: 如var obj={x:1,y:2} ,这里x, ...
- Attribute 与 Property 的区别
网上的说法是: Property 是面向对象的概念,是Object的一部分. Attribute 是<input type="text"> type就是Attribut ...
- jQuery的attr与prop,attribute和property区别
jQuery1.6中新添加了一个prop方法,看起来和用起来都和attr方法一样,这两个方法有什么区别呢?这要从HTMl 的attribute与property区别说起,attr与prop正是这两个东 ...
- Objective-C中属性及其特质@property、attribute
属性: 属性@property和属性attribute不同,@property在OC里有自己的一套专对实例变量的处理机制.attribute我们可以特指属性所具有或遵循的特质. 使用属性,编译器就会自 ...
随机推荐
- SharpDevelop浅析_4_TextEditor_自动完成、代码折叠……
SharpDevelop浅析_4_TextEditor_自动完成.代码折叠…… SharpDevelop浅析_4_TextEditor_自动完成.代码折叠…… Parser及其应用: Code Com ...
- 三篇很好的讲解keppalived的博客
VRRP协议介绍 参考资料: RFC 3768 1. 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定 ...
- php插入代码数据库
插入代码:<?php $con = mysql_connect("localhost","peter","abc123"); if ( ...
- 关于Unity的开发模式
Unity是组件化的开发模式,总结起来就是节点与组件.节点就像人,组件就像工具,人拿不同的工具,就变成不同的角色,有不同的作用.人+医学常识=医生. 1.每个空节点创建后,刚开始只有一个Transfo ...
- Static int data语句说明data为类变量,为一个类的共享变量,属于整个类
面向对象高级: 修饰符: static:①可修饰变量(属性):②可修饰方法:③可修饰代码块. Static int data语句说明data为类变量,为一个类的共享变量,属于整个类. Int dat ...
- 【BZOJ】1011: [HNOI2008]遥远的行星(近似)
http://www.lydsy.com/JudgeOnline/problem.php?id=1011 题意:$f[i] = \sum_{j=1}^{i-1} \frac{M[i]M[j]}{i-j ...
- linux grub启动密码验证设置
1.认识启动配置选项 [root@server5 ~]# cat /boot/grub/grub.conf # grub.conf generated by anaconda # # Not ...
- NYOJ 1009 So Easy[Ⅰ]【简单题】
/* 题目大意:求三角形的外接圆 解题思路:c/sin(C)=2R,先求出cos,在求出sin 关键点:直接调用库 解题人:lingnichong 解题时间:2014-10-18 10:19:33 解 ...
- js math atan2
在双十二活动中,视觉要求实现一个鼠标跟随运动的的效果,就像“觉”的那个效果类似 其实原理很简单,看鼠标从哪个方向进的及从哪个方向出的,然后区块里绝对定位的浮层就可以根据鼠标方向 运动; 如:在鼠标进入 ...
- 【转】Native Thread for Win32 A- Create Thread(通俗易懂,非常好)
http://www.bogotobogo.com/cplusplus/multithreading_win32A.php Microsoft Windows operating system's s ...