JavaScript连载29-元素类型获取、节点CD

一、元素类型分类

常量名常量值节点类型描述
Node.ELEMENT_NODE1Element代表元素
Node.ATTRIBUTE_NODE2Attr代表属性
Node.TEXT_NODE3Text代表元素或者属性中的文本内容
Node.CDATA_SECTION_NODE4CDATASection代表文档中的CDATA部(不会由解析器解析的文本)
Node.ENTITY_PEFERENCE_NODE5EntityReference代实体引用
Node.ENTITY_NODE6Entity代表实体
Node.PROCESSING_INSTRUCTION_NODE7Processinginstruction代表处理指令
Node.COMMENT_NODE8Comment代表注释
Node.DOCUMENT_NODE9Document代表整个文档(DOM树的根节点)
Node.DOCUMENT_TYPE_NODE10DocumentType向为文档定义的实体提供接口
Node.DOCUMENT_FRAGMENT_NODE11DocumentFragment代表轻量级的Document对象(文档的某个部分)
Node.NOTATION_NODE12Notation代表DTD中的声明符号
  • 下面我们举个例子,取出一些元素标签
<body>
<div id="box">
    <button class="btn">按钮</button>
    <span id="span">
        <a href="#">一个链接</a>
    </span>
    <p class="lk">我是段落标签</p>
    <div>哈哈哈</div>
</div>
<script>
    window.onload = function (ev) {
        //1.获取标签
        var box = document.getElementById("box");
        //2.获取标签内部的所有节点
        var allNodeLists = box.childNodes;
        //3.过滤元素节点
        var newListArr = [];
        allNodeLists.forEach(function (value,key,parent) {
            // console.log(value);
            console.log(value.nodeType);
            if(value.nodeType === 1){//这里的意思就是把元素标签拿出来
                newListArr.push(value);
            }

        });
        console.log(newListArr);
    }
</script>
</body>

29.1

二、节点CD

  • 文档加载过程补充讲解:
  • (1)onload:
window.onload = function(){
	//当页面加载完成执行
	//当也买你完全加载所有的内容(包括图像、脚本文件、CSS文件等)执行
  • (2)onunload:
window.onunload = function(){
	//当用户退出页面时候执行
}

三、DOM

  • 节点操作
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>D29_1_TagCD</title>
</head>
<body>
    <div class = "box">
        <p id="word">xiaoming</p>
        <button id="btn">点我</button>
    </div>
<script>
    window.onload = function (ev) {
        //CRUD操作
        var box = document.getElementsByClassName("box")[0];
        //1.创建节点
        var img = document.createElement("img")//创建了一个img标签
        img.src = "img/img_01.png";
        box.appendChild(img);
        var btn = document.getElementsByTagName("button")[0];
        box.insertBefore(img,btn);
    }
</script>
</body>
</html>

29.2

三、源码:

  • D28_1_GetAPI.html
  • D29_1_TagCD.html
  • 地址:https://github.com/ruigege66/JavaScript/blob/master/D28_1_GetAPI.html
  • https://github.com/ruigege66/JavaScript/blob/master/D29_1_TagCD.html
  • 博客园:https://www.cnblogs.com/ruigege0000/
  • CSDN:https://blog.csdn.net/weixin_44630050?t=1
  • 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流
    911
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值