DOM的简单认识 – js

2023-01-22 0 603

1、重新认识DOM

文件格式第一类数学模型(document Object model),由W3C明确提出的国际标准,是两个采用JAVA动态的出访和预览文件格式的文本、内部结构和式样;

DOM 提供更多了适当的API(USB),能对文件格式展开校订改查,以同时实现js对页面原素的动态(展开)掌控,同时实现动态页面的机能

2、HTML 结点树

DOM 的基本原理是将文件格式放入文本,并以结点的方式导出为一株结点树

HTML 文件格式是一类抽象化的内部方式化文件格式

3、结点类别

1.原素结点:即是条码

2.特性结点:即是条码上的特性

3.文档结点:即是条码间的文档文本

>> childNodes: 回到该结点下大部份的子结点条目【包涵空白符】(子集)【类似字符串内部结构】

句法:父结点.childNodes

>> .hasChildNodes(); –推论与否五子结点

句法:父原素.hasChildNodes();

>> firstChild –回到第二个子节点

句法:父原素.firstChild

>> lastChild –回到最终两个子结点

句法:父原素.lastChild

>> .previousSibling –回到上两个兄弟结点

句法:父原素.previousSibling

>> .nextSibling –回到写两个兄弟结点

句法:父原素.nextSibling

>> parentNode(靠谱)

句法:子结点.parentNode –回到父结点

>> children –回到大部份的结点(靠谱,不包涵空白符)

句法:父原素.children

5、结点特性

5.1 结点名字:nodeName

1.原素结点的 nodeName 与条码名字一样;

2.特性结点的 nodeName 与特性名一样;

3.文档结点的 nodeName 固定值为 #text;

5.2 结点值: nodeValue

1.原素结点的 nodeValue 为Undefined 或者 null

2.特性结点的 nodeValue 为特性值

3.文档结点的 nodeValue 为文档文本

5.3 结点类别: nodeType

1.原素结点的 nodeType 为 1

2.特性结点的 nodeType 为 2

3.文档结点的 nodeType 为 3

document.getElementByID(id);

>> 通过条码

document.getElementsByTagName(tagname);

document .getElementsByName(name);

document.getElementsByClassName(classname)

2、其他方法:

document.documentElement

document.body

>> 通过 form 的 nam

例如:console.log(

document.loginForm.username);

句法:document.表单名字

document.表单名字.表单原素名

3、强大的 query【无法获取动态添加的 dom 结点】

document.querySelector(css选择器); –回到找到的第二个原素

document.querySelector(#nav);

document.querySelector(li);

document.querySelectorAll(css选择器) –回到找到的大部份原素

console.log(attributes);

console.log(attributes[0]);

>> 原素.特性名

console.log(baidu.className);

>> 原素.getAttribute(特性名)

console.log(baidu.getAttribute(href));

[如果是class就不需要再用className了,因为封装了不会起冲突]

console.log(baidu.getAttribute(class));

2、设置特性:

>> 原素.特性名 = 特性值;

baidu.style.color = red;

>> 原素.setAttribute(特性名,特性值);

baidu.setAttribute(title,您点击之后不会发生改变);

3、移除特性

原素.removeAttribute(特性名);

4、推论与否有某两个特性

原素.hasAttribute(特性名) –回到值是两个布尔值

5、HTML5 自定义特性操作

>> element.dataset.自定义特性名(如:data-index)

>> element.getAttribute(data-index);

// 操作CSS式样

>> 原素.style.css特性名 = css特性值;【大多数都要加因为是值】

demo.style.height = 50px;

demo.style.border = 2px solid red;

注意:【如果css单词是通过链接的单词,则需要写成驼峰式命名】

如:demo.style.borderBottom = 2px solid red;

【因为float是js中的保留字,所以要写为cssFloat】

如: demo.style.cssFloat = right;

>> cssText【能帮助我么批量的设置CSS式样】

demo.style.cssText += width: 400px;height: 50px;;

>> 添加 classname (推荐采用)

提前在css中写好class,接下来动态添加class,比如:demo.className = demo box;

demo.className = demo box;

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务