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. “朕赐给你,才是你的;朕不给,你不能抢”--custome role在Azure权限管理中的简单实践

    在开始详细讨论技术问题之前,有一些个人观点想发表一下: ---作为一个甲方云平台的掌控着,如果任何事情你都是让partner全部帮你搞定,自己既不审核也不研究,那无论是对于公司还是个人发展来说都是没任 ...

  2. vue.js-vue入门教程教你如何html中使用vue(30分钟快速入门)

    前后端分离.微服务框架是当下比较流行的词汇,而vue就是前端框架的佼佼者.下面重点介绍一下vue的用法: vue起步:1.引包    2.启动new Vue({el:目的地,template:模板内容 ...

  3. linux初学者-用户管理篇

    linux的用户管理是非常以后工作中重要的一部分,也是linux系统安全的防线. 1.用户理解 那么到底什么是用户呢?用户就是系统使用者的身份. 用户是以怎样的方式储存在计算机中的呢?在系统中用户存储 ...

  4. 《HelloGitHub》第 40 期

    <HelloGitHub>第 40 期 兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程. ...

  5. 整理github总结

    之前记述过两篇关于git命令的随笔,那时候对git的理解还不太深(虽然现在理解的也不是很多...菜哭了),只会用那些命令,并没有形成自己的知识,今天下载完Git之后,规整了一下自己的github,在吃 ...

  6. GStreamer流媒体知识介绍

    GStreamer框架 1.GStreamer是什么? 众所周知,Microsoft's Windows和Apple's MacOS对多媒体设备.多媒体创作.播放和实时处理等方面都有很好的支持,而Li ...

  7. Java - 自动配置log4j的日志文件路径

    目录 1 日志路径带来的痛点 2 log4j.properties文件的配置 3 彻底解决痛点 3.1 单独的Java程序包 (非Java Web项目) 3.2 Web项目 4 附录 - 获取当前项目 ...

  8. python基础--基于套接字进行文件传输、异常处理、socketserver模块

    异常处理: 什么是异常处理: 程序在运行过程中出现了不可预知的错误,并且该错误没有对应的处理机制,那么就会以异常的形式表现出来,造成的影响就是整个程序无法再正常运行 异常的结构: 异常的类型.异常的信 ...

  9. iview自定义实现多级表头

    最近更新: 2018-07-19 注意:最新版iview已经提供多级表头功能 参考 原理:利用多个Table组件通过显示和隐藏thead和tbody来拼接表格(较粗暴) html <div st ...

  10. kpm字符串匹配算法

    首先是简单的朴素匹配算法 /* * 返回子串t在主串s的位置,若不存在则返回0 */ public static int index(String s, String t) { int i = 0;/ ...