DOM元素的特性和属性

首先来看一下他们的概念:

特性(Attribute):是DOM元素在文档中作为html标签拥有的属性;

属性(Property):是DOM元素在js中作为对象拥有的属性;

首先来了解一下DOM的五个标准特性(id、title、lang、dir、class)

对于标准特性来说,Attribute和Property是同步的,是会自动更新的,

对于自定义的特性来说,他们是不同步的(自定义的特性不会自动

添加到property)

HTML5规范对自定义特性做了增强,只要自定义特性以"data-attrName"

的形式写入到html标签中,在DOM属性中就可以通过element.dataset.attrName

的形式来访问自定义特性

特性/属性的数据绑定:

对于value和class来说,数据绑定是单方向的(Attribute==》property)

对于id、dir、title来说数据绑定是双向的(Attribute==》property、property

==》Attribute)

每一个元素都有一个或多个特性,用途是给出相应元素或其内容的

附加信息。通过DOM元素直接操作特性的方法有:

.getAttribute(attrName)

.setAttribute(attrname,value)

.removeAttribute(attrName)

操作属性则直接用"."操作符

举个栗子:

<div class="juzhong">    <p id="p1" class="c1" title="t1" dir="ltr"   jj="gg"> 这是一段文字</p></div>

首先用const aa=document.querySelector("p");来获取一个元素的引用

然后你就可以来操作相应的属性:

获取:aa..id

修改:aa.id="p2"(此时相应的特性也会随之改变)

此处声明:特性class对应的属性名为className;属性Property可以赋任何类型的值

,而特性Attribute只能赋值字符串!

原文地址:https://www.cnblogs.com/muhuck/p/10859056.html

时间: 2024-10-03 00:59:57

DOM元素的特性和属性的相关文章

上层建筑——DOM元素的特性与属性(dojo/dom-attr)

上一篇返本求源中,我们从DOM基础的角度出发,总结了特性与属性的关系.本文中,我们来看看dojo框架是如何处理特性与属性的.dojo框架中特性的处理位于dojo/dom-attr模块属性的处理为与dojo/dom-prop模块中. attr.set() 方法的函数签名为: require(["dojo/dom-attr"], function(domAttr){ result = domAttr.set("myNode", "someAttr",

返本求源——DOM元素的特性与属性

抛砖引玉 很多前端类库(比如dojo与JQuery)在涉及dom操作时都会见到两个模块:attr.prop.某天代码复查时,见到一段为某节点设置文本的代码: attr.set(node, 'innerText', 'Hello World!') 这段代码执行后并未生效,虽说innerText不是标准属性,尚未被ff支持,可用的是chrome,这个属性是被支持的.既然显示的文本没变,那就查看一下元素吧. innerText被添加到了html标签上,而换成prop模块后,成功的为节点替换文本. 以上

上层建筑——DOM元素的特性与属性(dojo/dom-prop)

上一篇讲解dojo/dom-attr的文章中我们知道在某些情况下,attr模块中会交给prop模块来处理.比如: textContent.innerHTML.className.htmlFor.value disabled.checked等无状态特性对应于属性中的布尔变量 事件的处理 那这一节,我们便来看看prop对于属性的处理. 首先是一个标准名称字典,将要设置的属性名重新命名,避免与保留字的冲突: exports.names = { // properties renamed to avoi

DOM元素的特性(Attribute)和属性(Property)

1.介绍: 上篇js便签笔记http://www.cnblogs.com/wangfupeng1988/p/3626300.html最后提到了dom元素的Attribute和Property,本文简单介绍一下我的理解. 其实Attribute和Property这两个单词,翻译出来都是“属性”,<js高级程序设计>书中翻译为“特性”和“属性”,以示区别. 简单理解,Attribute就是dom节点自带的属性,例如html中常用的id.class.title.align等: 而Property是这

关于dom元素的nextSibling的属性使用注意点

博主在进行某次前端开发过程中,使用dom元素的nextSibling属性,用于获取下一个同辈元素,但是却得到非预期结果.代码片段如下 <!DOCTYPE html> <html> <body> <ul> <li id="Coffee">Coffee</li> <li id="Tea">Tea</li> </ul> <button onclick=&quo

js操作dom元素属性和方法

1.用于处理xml文档的dom元素属性 属性名                      描述 childNodes返回当前元素所有子元素的数组 firstChild返回当前元素的第一个下级子元素 lastChild返回当前元素的最后一个子元素 nextSbling返回紧跟在当前元素后面的元素 nodeValue指定表示元素值的读写属性 parentNode返回元素的父节点 previousSibling返回紧邻当前元素之前的的元素 2.用于遍历XML文档的dom元素方法 方法名        

JS-DOM ~ 03. 子节点的操作、style.样式和属性、dom元素的创建方法及操作、14个例题、主要是利用js直接控制html属性

带有Element和不带的区别 a)  带Element的获取的是元素节点 b)  不带可能获取文本节点和属性节点 获取所以子节点 a)   . childNodes b)   . children c)   . parentNode . children [索引] . children:获取所有子节点 opacity:0-1:透明度 alpha(opacity:百分数):IE6/7/8透明度 先绑定事件再进行循环 previousNode()上一个兄弟节点 alert(变量名)可测试变量名是否

jQuery -&gt; 获取/设置/删除DOM元素的属性

Sum square difference Problem 6 The sum of the squares of the first ten natural numbers is, 12 + 22 + ... + 102 = 385 The square of the sum of the first ten natural numbers is, (1 + 2 + ... + 10)2 = 552 = 3025 Hence the difference between the sum of

MutationObserver监听DOM元素结构变化和属性变化实例

1 var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;//浏览器兼容 2 var config = { attributes: true, childList: true}//配置对象 3 $("要监听的DOM元素").each(function(){ 4 var _this = $(this); 5 var obse