首页 > 其他分享 >15. DOM节点

15. DOM节点

时间:2022-12-10 09:33:50浏览次数:38  
标签:15 DOM 元素 myNode oBox 节点 属性

BOM: 浏览器对象模型 将浏览器的每一部分都转换成js对象 操作浏览器部分功能的API

DOM文档对象模型 DOM元素可以理解为是把html元素转换成了js对象 操作网页上的元素的API

DOM节点的最终目的是通过js的语法来操作对应的html元素

解析过程
HTML加载完毕,渲染引擎会在内存中把HTML文档,生成一个DOM树

属性的读写

  1. 普通属性

    点方法

    对象.属性

    //a.dom普通属性
    // var oBox = document.querySelector("#box");
    // // 1.点运算: 对象.属性
    // 读
    // console.log(oBox.id);
    // 写
    // oBox.id = "heihei";

  2. style属性

    dom对象.style.子属性名

    var oBox = document.querySelector("#box");
    // oBox.style.backgroundColor = "hotpink";

  3. offset属性

    getAttribute/setAttribute

JS中的父子兄访问关系

节点的访问关系都是属性

获取父节点

	节点.parentNode

获取兄弟节点

	下一个兄弟节点 = 节点.nextElementSibling || 节点.nextSibling

前一个节点 | 前一个元素节点

前一个兄弟节点 = 节点.previousElementSibling || 节点.previousSibling

获得任意一个兄弟节点

	节点自己.parentNode.children[index];  //随意得到兄弟节点

获取单个的子节点

	第一个子元素节点 = 节点.firstElementChild || 节点.firstChild

最后一个子节点 | 最后一个子元素节点**:

	最后一个子元素节点 = 节点.lastElementChild || 节点.lastChild

获取所有的子节点

childNodes:标准属性。返回的是指定元素的子节点的集合(包括元素节点、所有属性、文本节点)

	子节点数组 = 父节点.childNodes;   //获取所有节点。

children:非标准属性。返回的是指定元素的子元素节点的集合。【重要】

    子节点数组 = 父节点.children;   //获取所有节点。用的最多。

DOM节点的操作

节点的操作都是函数(方法

创建节点

	新的标签(元素节点) = document.createElement("标签名");

插入节点

    父节点.appendChild(新的子节点);

删除节点

	父节点.removeChild(子节点);

用父节点删除子节点。必须要指定是删除哪个子节点

获取节点的属性值

    元素节点.属性名;
	元素节点[属性名];
	元素节点.getAttribute("属性名称");

设置节点的属性值

方式1举例:(设置节点的属性值)

    myNode.src = "images/2.jpg"   //修改src的属性值
    myNode.className = "image2-box";  //修改class的name

方式2:

	元素节点.setAttribute("属性名", "新的属性值");
    myNode.setAttribute("src","images/3.jpg");
    myNode.setAttribute("class","image3-box");
    myNode.setAttribute("id","你好");

删除节点的属性

	元素节点.removeAttribute(属性名);
    myNode.removeAttribute("class");
    myNode.removeAttribute("id");

innerHTML:双闭合标签里面的内容(包含标签)

最常见的操作,用字符串拼接页面

var oUl = document.querySelector("ul");

oUl.innerHTML = "<li class='test'>嘤嘤嘤</li>";

 for(var i=0; i<10; i++){

    oUl.innerHTML += "<li>"+i+"</li>";

    oUl.innerHTML += `<li>${i}</li>`;

}

image-20221126211205657

标签:15,DOM,元素,myNode,oBox,节点,属性
From: https://www.cnblogs.com/qianfanqf/p/16969914.html

相关文章

  • 顺序表-00015-合并顺序表
    顺序表结构定义typedefintseqType; //定义顺序表数据类型//定义顺序表的结构体typedefstructt_sList{ seqType*pbase; //表基址 intcapacity; //表......
  • Java使用dom4j解析xml文件
    第三方提供的,开源的,JDOM升级版,强大的解析xml文件的插件。它的核心是使用Document对象进行操作,其中使用迭代器模式遍历元素的子元素。 使用前,先下载并配置好jar包 ......
  • 论文解读(DITFEND)《Improving Fake News Detection of Influential Domain via Domain-
    论文信息论文标题:ImprovingFakeNewsDetectionofInfluentialDomainviaDomain-andInstance-LevelTransfer论文作者:QiongNan,DandingWang,YongchunZhu,Qia......
  • NSSearchPathForDirectoriesInDomains用法
    1.iPhone会为每一个应用程序生成一个私有目录,这个目录位于:/Users/sundfsun2009/Library/ApplicationSupport/iPhoneSimulator/User/Applications下,并随即生成一个数字字母......
  • P3128 [USACO15DEC]Max Flow P(树上倍增和树链剖分)
    思路1(树上倍增$+$树上差分)每次都修改一条从\(u\)到\(v\),不就是树上差分的专门操作吗??直接用倍增求\(LCA\),每次\(d[u]++,d[v]++,d[LCA(u,v)]--,d[f[LCA(u,v)][0]]--\)。......
  • JavaScript -- DOM事件总结
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • k8s 节点node维护
    1、设置节点不可调度kubectlcordonnode02设置node02不可调度,查看各节点状态,发现node02为SchedulingDisabled,此时master不会将新的pod调度到该节点上,但是node02上pod还是正......
  • 小新学Java15-【字节流、字符流】
    一、IO概述1.1什么是IO1.2IO的分类1.3IO的流向说明图解1.4顶级父类们二、字节流2.1一切皆为字节一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形......
  • 08JavaScript之JavaScript操作DOM对象方法
    通过元素类型的方法来操作:document.getElementById();//id名,在实际开发中较少使用,选择器中多用classid一般只用在顶级层存在不能太过依赖iddocument.getElementsByTagName......
  • 论文解读(MDFEND)《MDFEND: Multi-domain Fake News Detection》
    论文信息论文标题:MDFEND:Multi-domainFakeNewsDetection论文作者:JunjieLi,YixinZhang,ZileiWang,KeyuTu论文来源:aRxiv2022论文地址:download 论文代码:downlo......