属性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我们可以特指属性所具有或遵循的特质. 使用属性,编译器就会自 ...
随机推荐
- 李洪强iOS经典面试题34-求两个链表表示的数的和
李洪强iOS经典面试题34-求两个链表表示的数的和 问题 给你两个链表,分别表示两个非负的整数.每个链表的节点表示一个整数位. 为了方便计算,整数的低位在链表头,例如:123 在链表中的表示方式是: ...
- NameNode机制和DataNode机制
首先我们看一下NAMENODE: 我们已经知道了NAMENODE作为DATANODE的管理者,其重要性不言而喻,那么NAMENODE是怎么管理数据的呢? 首先,我们看一下上面这张图,每次客户端读写数据 ...
- MySQL5.0、5.1、5.5、5.6功能进化
目前线上使用的版本情况:新上线端口统一使用5.5,不说别的,一个快速恢复重启就值回票价. 但因为历史原因还有大量5.1的版本,甚至,I’am sorry,还有少数5.0的版本. 至于5.0以前的版本, ...
- 日期-date.js
Date.prototype.format = function(format) { var o = { "M+" : this.getMonth() + 1, // 月 &quo ...
- C语言 百炼成钢23
/* 题目59:链表如下 typedef struct _LinkList { int data; struct _LinkList*next; } LinkList; 有如下结点数据域 1 2 3 ...
- 003杰信-在jsp页面输入数据,然后在oracle数据库中插入factory数据,当字段允许为空时要特殊处理
本博客的内容全部来自于传智播客,特在此说明. 业务要求如下:在jsp页面(jFactoryCreate.jsp)上输入数据时,转到后台,并输入到数据库. jFactoryCreate.jsp页面:
- php -- php缓存技术
为了尽量减少不必要的数据库查询,我对一些数据进行了缓存和静态化处理. 缓存的原理:把一些经常要用到但又很少改动的数据以数组或其它形式存储到一个独立的PHP文件中,然后在需要用到的时候包含进来. 缓存的 ...
- php计算数组相同值出现次数的代码(array_count_values)
php计算数组相同值出现次数,可以使用php自带函数array_count_values : 说明 array array_count_values ( array $input )array_cou ...
- [转]C# 超高速高性能写日志 代码开源
1.需求 需求很简单,就是在C#开发中高速写日志.比如在高并发,高流量的地方需要写日志.我们知道程序在操作磁盘时是比较耗时的,所以我们把日志写到磁盘上会有一定的时间耗在上面,这些并不是我们想看到的 ...
- ios开发之 -- Swap file ".Podfile.swp" already exists!