0
点赞
收藏
分享

微信扫一扫

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法


Element节点的一些属性

innerHMTL

能改变元素里的HTML内容,

HTML:

<div>
<span>123</span>
<strong>234</strong>
</div>

把 div  选出来:

var div = document.getElementsByTagName('div')[0];

查看一下这个 div 和 div 里的内容:

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法_Element节点属性

除了读取 HTML的内容,还能写入;

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法_javascript_02

除了写入,还可以追加:

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法_javascript_03

所以追加一点标签和样式自然也是可以的了:

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法_Element节点方法_04

看下HTML:

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法_Element节点属性_05


innerText

取文本内容。(以前版本的 firefox 里没有这个属性,他给了个 textContent )

还是上面一段HTMl:

<div>
<span>123</span>
<strong>234</strong>
</div>

看控制台:

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法_Element节点属性_06

innerText 也是可读可写的,如果我们写入: 

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法_Element节点属性_07

就是把以前的东西都覆盖了。

所以,使用的时候要小心,如果只是改文本的时候就很随意,如果HTMl里结构,比如有个 span ,再直接写入的话,就等于把结构也覆盖了。而写在 innerText 里的结构也会被当做文本处理;


Element 节点的一些方法

ele.setAttribute()

给当前元素设置行间属性;

HTML:

<div>
<p></p>
</div>

给他设置一个ID:

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法_javascript_08

demo 如果是事先写好了,现在给 div 加上这个 class 后,样式就会发生改变;

在后的编码中,可以和事件配合动态的给 标签加上 class ,来跟用户交互;


示例:

给 div 下的子元素统一设置  "this-name" 属性,属性值为标签名;

HTML

<div>
<p></p>
<span></span>
<em></em>
</div>

JS里:

var div = document.getElementsByTagName('div')[0];
var child = div.children;
for(var i = 0; i< child.length ; i ++){
child[i].setAttribute('this-name',child[i].nodeName);
}

HTML结构:

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法_Element节点属性_09

ele.getAttribute()

从当前元素获取属性;

以上面这个示例为例:分别取出 div 里子元素的 this-name 值;

看控制台:

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法_Element节点方法_10


练习:

写一段 javascript 脚本,生成下面这段 DOM结构。

<div class="example">
<p class="slogan">hello world</p>
</div>

这个比较简单:

var div = document.createElement('div');
document.body.appendChild(div);
var p = document.createElement('p');
div.appendChild(p);
p.innerText = "hello world";
div.setAttribute('class','example');
p.className = "slogan";

 HTML结构:

Javascript(笔记28) - DOM基本操作 - Element节点的属性和方法_Element节点属性_11

当然,如果你无耻的使用  innerHTML 手写 HTML的话,也行。







举报

相关推荐

0 条评论