JavaScript——关于节点的杂项

首先如果使用DOM模型,需要将整个的script写在body的后面,保证整个DOM模型完整生成之后,再获取对应的元素

id  表示DOM中的某个节点的唯一标识,该标识乐意帮助我们快速获取DOM中的某个指定节点,因其唯一性,所以得到的节点也是唯一的,故在文档中不适合多个标签使用同一个id

通过标签名来获取对应的标签,通过此方法返回的结果是以HTMLCollection来保存的。

HTMLColloction是伪数组,没有数组的push,pop,但是依然有下标的概念,下标的范围(0~长度~1),有length属性,可以明确保存的元素个数

例如:得到body里面的ol中的li元素

var lis = document.getElementByTagName("li");

console.log(lis).

通过childNodes属性可以获取节点的子节点,一直要到叶子节点,如果子节点之间有回车换行,回车会被当做一个text节点,如果要用childNodes属性获取正确节点,则不能使用换行

console.log(list.childNodes);

console.log(list.firstChildNode);

console.log(list.lastChildNode);

获取指定节点的父节点

console.log(list.parentNode);

在某一个已经存在的子节点前插入一个新的子节点

var div = document.createElement("div");

div.style.width = "200px";

div.style.height = "200px";

div.style.background = "red";

在某一个节点下插入一个新的节点:

ininsertBerfore有两个参数,第一个是新元素,第二个是已经存在的元素(中间是逗号隔开,而不是句号)

list.parentNode.insertBefore(div,list);

已经存在的两个子节点可以通过此方法来交换顺序

list.parentNode.insertBefore(list,div);

替换已有的子节点,拿第一个参数元素去替换第二个参数元素

list.replaceChild(lis[0],lis[3]);

删除已有的节点

list.removeChild(lis[0]);

复制子节点,cloneNode()的参数是boolean类型的

true:复制节点及其子节点(如果存在节点)

复制节点及其子节点的文本内容(如果存在内容)

false:只复制当前节点本身,不包含子节点及其文本内容

获取节点的另一种属性:

children属性得到的只是子节点元素,不包括回车和空格等字符,但是在IE9浏览器上回包含代码注释,IE9会把代码注释也当做一个子节点。

console.log(list.children);

list.setAttribute("index" , 121);

获取已知节点的属性值

console.log(list.getAttribute("index"));

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载请声明出处 博客原文 随手翻阅以前的学习笔记,顺便整理一下放在这里,方便自己复习,也希望你有也有帮助吧 第一课...
    前端进阶之旅阅读 12,749评论 13 94
  • 基本介绍 文档对象模型 (DOM) 是HTML和XML文档的编程接口。它给文档(结构树)提供了一个结构化的表述并且...
    草鞋弟阅读 475评论 0 0
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,103评论 1 10
  • 剃头挑子一头热,这是一句源自于故乡农村百姓真实生活的俗语。我们故乡,除了一些少数集镇,几乎没有固定的理发店,剃头的...
    醉在江南阅读 1,152评论 0 1
  • 晨练第210天:跳绳200个 读经第二十天 论语 我的理解和收获 1子夏问:笑眯眯的脸真好看,滴溜溜的眼真漂亮,这...
    山缘有约阅读 300评论 0 0