java dom属性节点_剑指前端(前端入门笔记系列)——DOM(属性节点)

DOM(属性节点)

属性节点没有过参加家族关系中,其专用选择器:attributes,返回值为对象的形式,它的键是索引值,也就是用对象模拟了一个伪数组,DOM中选择器返回的都是伪数组(可以使用数组的形式遍历,操作。但是不能使用数组的方法),下面是属性节点的操作

var oBox = document.querySelector(".box");

console.log(oBox);//属性节点

console.log(oBox.attributes[1].nodeName);

console.log(oBox.attributes[1].nodeValue);

oBox.attributes[1].nodeValue = "换了一个title";

console.log(oBox);

c7a4b10d1aaefc2140df175ccba24f6c.png

我们都知道,属性分为内置和自定义,那么我们以此为分类依据来解析属性的操作。

内置(系统提供的)

可见(在代码中能够书写的)

1.使用对象的操作(注意class,是个关键字,需要改成className)点语法

var oBox = document.querySelector(".box");

console.log(oBox.title);

console.log(oBox.className);

ce599dd51480db08a20cc39bf69c7c2e.png

中括号语法

var oBox = document.querySelector(".box");

console.log(oBox["title"]);

console.log(oBox["className"]);

3774731ad55b6b1bcd3d63efaf74f1f7.png

【注】其中style属性包含了几乎所有的样式,可以通过style.属性名的方式来获取和设置,先来看一下该属性里的信息

var oBox = document.querySelector(".box");

console.log(oBox.style);

9817d88d0984c0666ef199746432b99a.png

我们可以看到,里面包含了几乎所有的CSS样式,只不过因为没有设置,都是空字符,下面我们来设置一些,看一些有没有改变

var oBox = document.querySelector(".box");

oBox.style.border= "solid 2px black";

oBox.style.display= "block";

oBox.style.left= "10";

oBox.style.background= "red";

console.log(oBox.style);

1ce846f0bb5190ecb79ffdfcb8f7f644.png

我们可以看到,设置是成功的,不过比起一个一个来设置,有一条属性可以同时设置多个样式,而且还可以直接写CSS语句,语义化更强,更符合逻辑,下面来测试一下

var oBox = document.querySelector(".box");

oBox.style.cssText= "width:100px;height:200px;";

console.log(oBox.style);

2d3d196c54bde98ed72d72bc77d0fc4b.png

072a281ec4e44939202ca7ee9655e75d.png

那么,style.cssText属性将是我们操作系统内置可见属性的利器

2.attribute系列

该系列可以获取、设置以及删除属性节点,后面可见自定义的属性操作也是使用该系列

var oBox = document.querySelector(".box");

console.log(oBox);

oBox.setAttribute("background","red");

oBox.setAttribute("title","sc");

console.log(oBox.getAttribute("width"));

console.log(oBox.getAttribute("border"));

console.log(oBox.getAttribute("background"));

console.log(oBox.getAttribute("title"));

oBox.removeAttribute("height");

445233598a0a093571854aa88de6b556.png

不可见(在代码中能够书写的)

使用对象的操作

Hello World!

var oBox = document.querySelector(".box");//innerHTML能解析能获取标签//innerText不能解析不能获取标签

console.log(oBox.innerHTML);

console.log(oBox["innerHTML"]);

console.log(oBox.innerText);

console.log(oBox.tagName);

console.log(oBox.nodeName);

10f6a3b163d319bf897054c4560e70dc.png

自定义(自己设置)

可见(在代码中能够书写的)

attribute系列

var oBox = document.querySelector(".box");

console.log(oBox);

oBox.setAttribute("a","aaaaaaaaaaaaa");

oBox.setAttribute("b","bbbbbbbbbbbbb");

console.log(oBox.getAttribute("a"));

console.log(oBox.getAttribute("b"));

oBox.removeAttribute("a");

oBox.removeAttribute("b");

console.log(oBox.getAttribute("a"));

console.log(oBox.getAttribute("b"));

3bdb43cca45d1270953a5221f3745c85.png

不可见(在代码中能够书写的)

使用对象的操作

点语法

var oBox = document.querySelector(".box");

console.log(oBox);

console.log(oBox.qwe);

oBox.qwe= "hahahahah";

console.log(oBox.qwe);

7b68b56a4ef0ec20fdd4391cf5fc89d3.png

中括号语法

var oBox = document.querySelector(".box");

console.log(oBox);

console.log(oBox["asd"]);

oBox["asd"] = "duangduangduang";

console.log(oBox["asd"]);

e2fb52fb6911e0378bbaac49b18262fc.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值