DOM选择器之元素节点选择器
<!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选择器之元素节点选择器的更多相关文章
- DOM选择器之元素选择器
DOM中元素选择器 在DOM中我们可以将元素选择器分为两类:1.元素节点选择器:2.其它节点选择器.通过选择器选择HTML中的元素以对其进行操作,以此实现用JS对页面的操作. 一.元素节点选择器 1. ...
- CSS选择器之伪类选择器(元素)
:first-child 选择某个元素的第一个子元素(IE6不支持) :last-child 选择某个元素的最后一个子元素 :first-of-type [CSS3]选择一个上级元素下的第一个同类子元 ...
- jQuery选择器之内容过滤选择器Demo
测试代码: 04-内容过滤选择器.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...
- CSS选择器之伪类选择器(交互)
:link 选取未访问链接 :active 选取活动链接(单击某链接,未松开鼠标时). :visited 选取已被访问的链接. :target 链接指定的目标 :hover 当鼠标浮在元素上方时. : ...
- jQuery选择器之基本筛选选择器
<h2>基本筛选器</h2> <h3>:first/:last/:even/:odd</h3> <div class="left&quo ...
- DOM基础+domReady+元素节点类型判断
DOM节点类型 nodeType element 1 Node.ELEMENT_NODE 元素节点 attr 2 Node.ATTRIBUTE_NODE 属性节点 text 3 ...
- jQuery选择器之元素选择器
元素选择器:根据给定(html)标记名称选择所有的元素. 描述: $('element') 搜索指定元素标签名的所有节点,这是一个合集的操作.同样的也有原生方法getElementsByTagName ...
- CSS选择器之伪类选择器(伪元素)
selection [CSS4]应用于文档中被用户高亮的部分(比如使用鼠标或其他选择设备选中的部分).(IE8及以下不支持)(火狐-moz-selection) first-line 选择每个 < ...
- jQuery选择器之基本过滤选择器Demo
测试代码: 03-基本过滤选择器.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...
- jquery选择器之内容过滤选择器
先写出DOM元素的HTML结构: <style type="text/css"> /*高亮显示*/ .highlight{ background-color: gray ...
随机推荐
- 写一些Linux文件夹操作的一些感悟。
rwx 权限 对目录的作用 读权限(r) 表示具有读取目录结构列表的权限,也就是说,可以看到目录中有哪些文件和子目录.一旦对目录拥有 r 权限,就可以在此目录下执行 ls 命令,查看目录中的内容. 写 ...
- obspy常用命令记录
如何使用obspy(适用于MAC.Linux.Windows)完全替代SAC(使用于Linux和MAC) 波形预处理 # 去均值 stream.detrend('demean') # 去线性趋势 st ...
- font-awesome vue/react 通用的图标
在开发项目中遇到了矢量图标 一套绝佳的图标字体库和CSS框架 vue 中引入font-awesome 直接npm install font-awesome --save 就可以了,里边包含了样式和字体 ...
- 反序列化 sqlserver 中的 sysdiagrams,找到其中包含的表的信息
转载于:Script SQL Server 2005 diagrams to a file - CodeProject /** <summary> Based on ufn_Varbina ...
- ZXing 生成二维码和条形码(添加NuGet包)
- 模拟法NOIP题单
模拟算法的试题训练, 重点针对试题分析环节的练习锻炼!! 考察阅读能力.分析能力.建模能力! 模拟法题目是最基础的题目,她不难,她复杂,她的实现往往需要足够的细心耐心! 练习这类题目能够使你掌握其他算 ...
- 30day_网络编程
由于不同机器上的程序要通信,于是产生通信 C/S架构: Client与Server,客户端(只有用的时候再使用)与服务端(一直运行,等待服务) B/S架构: 浏览器端与服务器端 Browser浏览器, ...
- Linux系列---【设置ssh连接超时时间】
设置ssh连接超时时间 shell工具总是不断的超时,上个厕所就断开了,很不方便,这里根据自己习惯设置一下. echo "export TMOUT=600" >> /e ...
- jsp第4个作业(1)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
- nodejs批量重命名
const fs = require("fs"); // directory path let config = { affix: null, src: null, }; ...