DOM中元素选择器

  在DOM中我们可以将元素选择器分为两类;1、元素节点选择器;2、其它节点选择器。通过选择器选择HTML中的元素以对其进行操作,以此实现用JS对页面的操作。

  一、元素节点选择器

  1.ID选择器:document.getElementById()

  通过标签的ID名选择,返回的是单个的值,在HTML中ID具有唯一性;

  2.class选择器:document.getElementsByClassName()

var aEle=document.getElementsByClassName("myClass")  //选择文档中所有class名为myClass的元素,返回一个数组。

  通过标签的class名进行选择,返回的是一个数组,当我们需要对单个进行操作时,可利用数组的操作来选择单个的元素;这里需要注意的是,不同于ID选择器,因为是一个数组所以是Elements,注意有一个s,又由于在ES6中有class关键字,为了避免重复这里用的是ClassName。

  3.标签选择器:document.getElementsByTagName()

  通过标签名进行选择,如下选择文档中所有span标签。

var aspan=document.getElementsByTagName("span")  //选择DOM文档中所有的<span></span>标签,返回一个数组。

  4.name选器:document.getElementsByName()

  语法如下:

var auser=document.getElementsByName("user");

  name选择器一般用于表单,含有name属性的标签;同样,返回的是一个数组。

  5.高级选择器:ES5新增的选择器

  querySelector()和querySelectorAll()

  ① querySelector()  返回的是单个对象

  语法如下:

var ele = document.querySelector("#box");
var ele1 = document.querySelector(".class");
var ele2 = document.querySelector("span");
var ele3 = document.querySelector(".msg h2");
var ele4 = document.querySelector(".msg>h2");

  从上面的代码我们可以看到,这个选择器的功能强大到出乎你的想象,甚至支持css中的所有选择器。

  ②querySelectorAll()  返回一个数组对象

  语法同querySelector();

  6.关系选择器

  我将关系选择器分成三类:① 父选子② 子选父③ 兄弟

  ① 父选子

var omsg = document.querySelector(".msg");
omsg.children //所有子元素;
omsg.firstElementChild //第一个子元素;
omsg.lastElementChild //最后一个子元素;

  ②子选父

var    aspan = document.querySelector("span");
span.parentNode; //选择span 的父元素;

  ③兄弟选择器

var    aspan=document.querySelector("span");
aspan.previousElementSibling //选择span的上一个兄弟元素
aspan.nextElementSibling //选择span的下一个兄弟元素

Tip:上面所提到的利用选择器返回一个数组,该数组是一个伪数组,当需要对单个元素进行操作的时候,可以对该数组进行索引,遍历,但是要注意的是,不能使用数组的方法!

DOM选择器之元素选择器的更多相关文章

  1. jQuery选择器之元素选择器

    元素选择器:根据给定(html)标记名称选择所有的元素. 描述: $('element') 搜索指定元素标签名的所有节点,这是一个合集的操作.同样的也有原生方法getElementsByTagName ...

  2. CSS选择器的组合选择器之后代选择器和子元素选择器

    实例代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF ...

  3. CSS选择器之通配符选择器和多元素选择器

    1.通配符选择器 如果希望所有的元素都符合某一种样式,可以使用通配符选择器. 基本语法: *{margin:0; padding:0} 可以让所有的html元素的外边距和内边距都默认为0. 写一段ht ...

  4. 深入学习jQuery选择器系列第五篇——过滤选择器之内容选择器

    × 目录 [1]contains [2]empty [3]parent[4]has[5]not[6]header[7]lang[8]root 前面的话 本文介绍过滤选择器中的内容选择器.内容选择器的过 ...

  5. 深入学习jQuery选择器系列第三篇——过滤选择器之索引选择器

    × 目录 [1]通用形式 [2]首尾索引 [3]奇偶索引[4]范围索引 前面的话 上一篇介绍了过滤选择器中的子元素选择器部分,本文开始介绍极易与之混淆的索引选择器 通用形式 $(':eq(index) ...

  6. Jquery选择器之基本选择器

    id选择器 共同点: text:代表标签之间的文本值 返回值:均为列表 根据给定的ID值匹配一个标签元素,如果id值中有元字符(如 !"#$%&'()*+,./:;<=> ...

  7. jQuery选择器之层次选择器Demo

    测试代码: 02-层次选择器.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...

  8. CSS选择器之基本选择器总结

    一.元素选择器(所有浏览器支持) 元素选择器(标签名选择器)其实就是文档的元素,如html,body,p,div等等, 下面例子中选择了span元素,并设置了字体颜色为红色. <body> ...

  9. jquery选择器之内容选择器

    HTML示例代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

随机推荐

  1. 知识图谱学习与实践(4)——通过例句介绍Sparql的使用

    通过例句介绍Sparql的使用 1 简介 SPARQL的定义,是一个递归的定义,为SPARQL Protocal and RDF Query Language,是W3C制定的RDF知识图谱标准查询语言 ...

  2. 蓝牙Beacon广播数据包格式以及解析

    目录 1. 获取原始蓝牙广播包 2. 安装WireShark软件 3. 分析Beacon广播包数据 3.1 第一个数据包格式 3.2 第二个数据包格式 3.3 Android程序开发中的蓝牙广播包 4 ...

  3. PHP语句中or的用法

     经常看到这样的语句: $file = fopen($filename, 'r') or die("抱歉,无法打开: $filename"); or在这里是这样理解的,因为在P ...

  4. spark 源码分析之十--Spark RPC剖析之TransportResponseHandler、TransportRequestHandler和TransportChannelHandler剖析

    spark 源码分析之十--Spark RPC剖析之TransportResponseHandler.TransportRequestHandler和TransportChannelHandler剖析 ...

  5. 牛客第十场Rikka with Prefix Sum

    由于其中的2操作非常多,我们就需要将其快速的更改,就会用到组合数的东西 其实自己手写一下就可以发现对于一个点增加的值在经过不断地前缀和累加过程中对于一点的贡献满足杨辉三角 所以我们就需要记录一下其中的 ...

  6. jQuery中事件与动画

    jQuery中的事件与动画   一. jQuery中的事件 jQuery事件是对javaScript事件的封装. 1.基础事件 在javaScript中,常用的基础事件有鼠标事件.键盘事件.windo ...

  7. form.elements[i]

    原生js操作form的一些方法,来看下面写的这个demo,这个demo是展示了一下form.eleemnts[i]的意义和用法: <!DOCTYPE html> <html lang ...

  8. 【Java】判断字符串是否含字母

    用正则表达式,示例代码如下: String str = "123abc"; Pattern.compile("(?i)[a-z]]").matcher(str) ...

  9. sed流编辑器

    一.前言 (一).sed 工作流程 sed 是一种在线的.非交互式的流编辑器,它一次处理一行内容.处理时,把当做前处理的行存储在临时缓存区中,成为“模式空间”(pattern space),接着用se ...

  10. 4如何用PHP给MySQL数据库添加记录

    首先连接数据库(依旧用第二篇的方法) 假设数据库表里只有id,name,email三列 添加以下代码 $inputemail=写你要的email;$inputname=写你要的name;//先设定你要 ...