<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="box">1</div>
<div id="box">2</div>
<div id="box">3</div>
<div class="msg">
<div class="sbox">
<h2>三级标题</h2>
<h2>三级标题</h2>
</div>
<h2>二级标题</h2>
<h2>二级标题</h2>
</div>
<div class="cont">4</div>
<div class="cont">5</div>
<div class="cont">6</div>
<span>5</span>
<span><em>hello</em></span>
<span>9</span>
<input type="text" name="user" value="你好">
<input type="text" name="user">
<input type="text" name="pass">
</body>
<script> // 选择器:
// 元素节点选择器:
// id,class,name,tagname,高级,关系 // id:返回的是单个对象
var box = document.getElementById("box");
console.log(box) //<div id="box">1</div>
// class:返回的是数组对象,如果要使用其中的元素,通过索引解析
var acont = document.getElementsByClassName("cont")
console.log(acont)//[div.cont, div.cont, div.cont]
console.log(acont[0])//<div class="cont">4</div> ,返回数组中的单个对象
console.log(acont[0].innerHTML)//4 返回数组中的单个对象中的值
console.log(acont.innerHTML) //undefined
// tagname:返回的是数组对象,如果要使用其中的元素,通过索引解析
var aspan = document.getElementsByTagName("span")
console.log(aspan) // [span, span, span],第二个span中有元素,但是在数组只显示一个span
// name:返回的是数组对象,如果要使用其中的元素,通过索引解析
var auser=document.getElementsByName("user")
console.log(auser) //[input, input]
console.log(auser[0])//<input type="text" name="user">
console.log(auser[0].value)//你好
// 高级:ES5新增的
// querySelector:返回的是单个对象
var a = document.querySelector("#box")
console.log(a) //<div id="box">1</div>
var b=document.querySelector(".msg")
console.log(b)//<div class="msg"><div class="sbox"><h2>二级标题</h2><h2>二级标题</h2></div><h2>二级标题</h2><h2>二级标题</h2></div>
var ele = document.querySelector("span")
console.log(ele)//<span>5</span>
var ele = document.querySelector(".msg h2")
console.log(ele)//<h2>三级标题</h2>
var ele = document.querySelector(".msg>h2")
console.log(ele)//<h2>二级标题</h2>
// querySelectorAll:返回的是数组对象,如果要使用其中的元素,通过索引解析
var ele = document.querySelectorAll("#box") //[div#box, div#box, div#box]
var ele = document.querySelectorAll(".cont")// [div.cont, div.cont, div.cont]
var ele = document.querySelectorAll("span") //[span, span, span]
var ele = document.querySelectorAll(".msg h2")//[h2, h2, h2, h2]
var ele = document.querySelectorAll(".msg>h2")//[h2, h2]
console.log(ele) // 关系:
// 父选子,返回的是数组对象
var omsg = document.querySelector(".msg");
console.log(omsg.children);//[div.sbox, h2, h2]
// 子选父,返回的是单个对象
var osbox = document.querySelector(".sbox");
console.log(osbox.parentNode);//<div class="msg"><div class="sbox"><h2>三级标题</h2><h2>三级标题</h2></div><h2>二级标题</h2><h2>二级标题</h2></div>
// 第一个子,返回的是单个对象
var omsg = document.querySelector(".msg");
console.log(omsg.firstElementChild) //<div class="sbox"><h2>三级标题</h2><h2>三级标题</h2></div>
// 最后一个子,返回的是单个对象
var omsg = document.querySelector(".msg");
console.log(omsg.lastElementChild)//<h2>二级标题</h2>
// 上一个兄弟,返回的是单个对象
var omsg = document.querySelector(".msg");
console.log(omsg.previousElementSibling)//<div id="box">3</div>
1 // 下一个兄弟,返回的是单个对象
var omsg = document.querySelector(".msg");
console.log(omsg.nextElementSibling)//<div class="cont">4</div>
// 其他节点选择器: </script>
</html>

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

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

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

  2. CSS选择器之伪类选择器(元素)

    :first-child 选择某个元素的第一个子元素(IE6不支持) :last-child 选择某个元素的最后一个子元素 :first-of-type [CSS3]选择一个上级元素下的第一个同类子元 ...

  3. jQuery选择器之内容过滤选择器Demo

    测试代码: 04-内容过滤选择器.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...

  4. CSS选择器之伪类选择器(交互)

    :link 选取未访问链接 :active 选取活动链接(单击某链接,未松开鼠标时). :visited 选取已被访问的链接. :target 链接指定的目标 :hover 当鼠标浮在元素上方时. : ...

  5. jQuery选择器之基本筛选选择器

    <h2>基本筛选器</h2> <h3>:first/:last/:even/:odd</h3> <div class="left&quo ...

  6. DOM基础+domReady+元素节点类型判断

    DOM节点类型  nodeType element  1    Node.ELEMENT_NODE   元素节点 attr  2   Node.ATTRIBUTE_NODE  属性节点 text  3 ...

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

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

  8. CSS选择器之伪类选择器(伪元素)

    selection [CSS4]应用于文档中被用户高亮的部分(比如使用鼠标或其他选择设备选中的部分).(IE8及以下不支持)(火狐-moz-selection) first-line 选择每个 < ...

  9. jQuery选择器之基本过滤选择器Demo

    测试代码: 03-基本过滤选择器.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...

  10. jquery选择器之内容过滤选择器

    先写出DOM元素的HTML结构: <style type="text/css"> /*高亮显示*/ .highlight{ background-color: gray ...

随机推荐

  1. python脚本通过adb命令安装包

    import os os.system("adb install E:\\huaxin.apk") os.system("adb install E:\\hx_recor ...

  2. 项目实训DAY7

    今天与昨天一样,查论文,并美化了一下功能界面的样式.

  3. MyBatis Generator使用方法

    第一步:在resources文件夹下创建一个目录mybatis-generator,在目录mybatis-generator下创建文件generatorConfig.xml(此处的目录名可任意取) 第 ...

  4. Vue2路由跳转传参,获取路由参数,Vue监听路由

    1 this.$router.push({ 2 // name:路由组件名 3 name: routeName, 4 query: { 5 mapId:this.mapId 6 } 7 }) 8 9 ...

  5. vue+高德地图配置及添加marker

    1.首先在index.html中引入高德地图 <script type="text/javascript" src="https://webapi.amap.com ...

  6. localtime函数

    localtime函数: 将时间数值变换成本地时间,考虑到本地时区和夏令时标志; 原型: struct tm *localtime(const time_t * calptr); 头文件 <ti ...

  7. Python第四章

    import datetime # 定义一个列表 mot = ["今天星期一:\n坚持下去不是因为我坚强,而是因为我别无选择.",        "今天星期二:\n含泪播 ...

  8. MyBatis-Plus使用SQL语句

    项目中碰到一个必须要使用动态SQL的地方, 想着在xml文件中进行一层一层的判断太麻烦了,也不好理解,要是能在Java代码中组织好SQL,进行查询操作 QueryWrapper<object&g ...

  9. 【Access】清空数据并重置自增主键

    DELETE FROM tasks ALTER TABLE tasks ALTER COLUMN id COUNTER(1,1)

  10. python读取i3dm数据

    path = r'D:\data\1.i3dm'f = open(path, 'rb')f.seek(4)print('version:%d' % struct.unpack('I', f.read( ...