js——DOM节点


prtyaa
prtyaa 2023-12-26 19:05:17 67355
分类专栏: 资讯
  • <div id="box">div 1</div>
        <div id="demo">
            <p>paragraph1</p>
            <p>paragraph2</p>
            <p>paragraph3</p>
            <div class="inner">
                <p>inner p</p>
            </div> 
        </div>

    一、生成一个新的元素对象

    //生成一个新的元素对象
    var newNode = document.createElement("div");
    //给新的div内部添加文字
    document.innerHTML("新的 div");
    //给body添加一个新的节点子元素
    document.body.appentChild(newNode);
    

    二、移出元素

    //获取元素
    var box=document.getElementById("box");
    document.body.removeChild(box);

    三、获取子元素

    var demo = document.getElementById("demo");
    var child = demo.children;
    console.log(child);

    四、节点属性

    1、获取元素节点

    document.getElementById("box");

    2、获取属性节点

    box.getAttributeNode("id");

    3、获取文本节点

    box.childNodes;

    五、父节点属性

    1、获取子节点:

    比较常用的我用加粗标记出来了~

    childNodes 获取的是所有类型的子节点包括空格
    children 获取的是所有元素类型的子节点
    firstChild 获取的是所有类型的子节点的第一个
    lastChild 获取的是所有类型的子节点的最后一个
    firstElementChild 获取的是所有元素类型的子节点的第一个
    lastElementChild 获取的是所有元素类型的子节点的最后一个

    2、获取父级

    parentNode
    parentElement

    3、获取兄弟节点

    previousSibling 获取上一个同级的节点(包括空格);
    nextSibling 获取下一个同级的节点(包括空格);
    //有兼容问题,IE9以下不可用
    previousElementSibling 获取上一个同级的元素节点;
    nextElementSibling 获取下一个同级的元素节点;

    六、创建新节点方法

    一般将创建的节点存在变量中,方便使用。

    1、创建元素节点

    document.createElement("div");

    2、创建属性节点

    document.createAttribute("id");

    3、创建文本节点

    document.createTextNode("hello");

    七、节点常用操作

    1、将一个节点添加到指定父节点的子节点列表末尾

    parentNode.appendChild(child);

    2、用指定节点替换当前节点的一个子节点

    parentNode.replaceChild(newChild,oldChild);

    3、在某个指定子节点前添加新的子节点

    parentNode.insertBefore(newNode,referenceNode);

    4、移除节点

    parentNode.removeChild(child);

    八、克隆节点

    注意:浅度克隆只克隆它本身,而深度克隆是该节点下面的后代节点都会被克隆。

    //浅度克隆
    cloneNode(false);
    //深度克隆
    cloneNode(true);

    九、节点判断方法

    //有的话返回true(包括空格),否则返回flase
    //表示该元素是否包含有子节点
    Node.haschildNodes();
    //表示传入的节点是否为该节点的后代节点
    Node.contains(child)
    还有以下方法也可以进行判断是否有子节点
    Node.firstChild() !== null;
    Node.childNodes.length > 0;

    注意:判断节点跟判断元素节点是不一样的。判断元素节点需要在中间加上Element,childNodes改为children。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=31085
赞同 0
评论 0 条
prtyaaL1
粉丝 1 发表 2554 + 关注 私信
上周热门
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1487
银河麒麟打印带有图像的文档时出错  1405
银河麒麟添加打印机时,出现“server-error-internal-error”  1194
统信操作系统各版本介绍  1116
统信桌面专业版【如何查询系统安装时间】  1114
统信桌面专业版【全盘安装UOS系统】介绍  1068
麒麟系统也能完整体验微信啦!  1026
统信【启动盘制作工具】使用介绍  672
统信桌面专业版【一个U盘做多个系统启动盘】的方法  616
信刻全自动档案蓝光光盘检测一体机  526
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!