美文网首页
DOM编程艺术-节点操作之获取节点

DOM编程艺术-节点操作之获取节点

作者: Blackdooog | 来源:发表于2017-06-29 00:17 被阅读0次

前一篇说了DOM树,主要是了解js和html以及css之间对应的关系,可以通过这样一个结构把两者联系起来。

既然可以联系起来,那就可以通过js来对节点进行一系列操作,从而改变html和css的结构,达到网页交互的目的。

节点的操作可以分为:获取节点;创建节点;修改节点;插入节点;删除节点;

1. 获取节点

在DOM树里面有提到通过父子关系和兄弟关系获取节点,但这种操作可维护性差,因为一旦结构发生变化,元素之间的关系就很可能发生变化,所以节点的获取一定不能基于可能变化的量,而应该是html或者css中存在的唯一的,不会因为关系发生变化而变化的值。

有哪些是唯一值呢,id名,className,tagName这些都是,虽然类名和标签都可以对应多个元素,但是他们本身在html中是不会改变的,而通过父子关系可以获取到他们内部的元素。

基本语法是getElementBy...,也很好理解就是通过...get到某个元素;

1.1 通过id获取节点:getElementById

element=document.getElementById(id), 通过document调用,因为id是document中唯一的。

1.2 通过className获取节点:getElementsByClassName

collection=element.getElementsByClassName;

可以注意到,这里是elements,而不是通过id获取节点的单数形式,这也间接说明了,通过tagName和className是可以获取多个元素的,其结果是一个集合;

1.3 通过标签名获取节点:getElementsByTagName;

collection=element.getElementsByTagName(tagname);

collection是动态的,即后续操作可以改变之前的值;

通过element调用具有某一标签名的集合,可以通过下标获取指定位置的元素,例如:users.getElementsByTagName("li")[2]: 意为获取id为users的div中li标签中的第三个元素,通过类名获取节点也可以这样操作;

users.getElementsByTagName("*"):获取所有后代元素

1.4 通过选择器获取节点:querySelector/All;

list=element.querySelector/All(selector):通过css选择器获取相应节点;

list不是动态的,后续操作不会改变状态;

相关文章

  • DOM编程艺术-节点操作之获取节点

    前一篇说了DOM树,主要是了解js和html以及css之间对应的关系,可以通过这样一个结构把两者联系起来。 既然可...

  • Dom操作

    操作节点 获取节点 获取子节点 更新DOM innerHTMLinnerTEXT 插入DOM appendChil...

  • DOM

    一、对象基础(补充) 二、DOM获取节点 三、间接获取节点 四、DOM节点的添加和删除 五、DOM属性操作 六、练...

  • 05-DOM相关知识点讲解

    DOM DOM内容主要分为四部分: 什么是DOM和节点; 获取节点; 节点操作(3种); 属性操作(3种)。 什么...

  • JS学习笔记(Dom操作)

    Dom操作: 获取父节点: 获取子节点: 获取上一个兄弟节点: 获取下一个兄弟节点: 获取首尾子节点:

  • 2018-04-08JQ中DOM的操作

    回顾原生DOM操作 *获取节点 *创建节点 *遍历节点 *替换节点 *删除节点 *插入节点 *复制节点 JQ中的...

  • js dom节点操作

    获取dom节点 新增dom节点 删除dom节点

  • jQuery-DOM篇

    DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作。但实际上...

  • 【前端】-029-DOM编程-节点操作

    节点的属性 节点操作 除了通过DOM树中的父子、兄弟关系获取节点外,还可以通过 JavaScript 中的DOM接...

  • DOM树知识点梳理

    1.HTML DOM2.获取节点的原生方法3.JS中的节点操作写几个常用的API, 来操作DOM节点。(1)doc...

网友评论

      本文标题:DOM编程艺术-节点操作之获取节点

      本文链接:https://www.haomeiwen.com/subject/ufmpcxtx.html