当前位置: 首页 > news >正文

DOM选择器

元素节点选择器包括id,class,name,tagname,高级,关系。

1.1 id选择器

id:返回的是单个对象

相关标签代码

<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>7</span>
    <span><em>hello</em></span>
    <span>9</span>
    <input type="text" name="user">
    <input type="text" name="user">
    <input type="text" name="pass">
</body>

id选择器代码

var box = document.getElementById("box");
console.log(box)

控制台显示效果

1.2 class选择器

 class:返回的是数组对象,如果要使用其中的元素,通过索引解析

 class选择器代码

var acont = document.getElementsByClassName("cont")
console.log(acont)
console.log(acont[0])
console.log(acont[0].innerHTML)
console.log(acont.innerHTML)

 控制台显示效果

1.3 tagname选择器

 tagname:返回的是数组对象,如果要使用其中的元素,通过索引解析

 tagname选择器代码

var aspan = document.getElementsByTagName("span")
console.log(aspan)
console.log(aspan[1])
console.log(aspan[1].innerHTML)
console.log(aspan.innerHTML)

控制台显示效果

1.4 name选择器

name:返回的是数组对象,如果要使用其中的元素,通过索引解析

 name选择器代码

var auser = document.getElementsByName("user")
console.log(auser)

 控制台效果

1.5高级选择器:ES5新增的

1.5.1.querySelector:返回的是单个对象

querySelector选择器代码

var ele = document.querySelector("#box")
console.log(ele)
var ele = document.querySelector(".cont")
console.log(ele)
var ele = document.querySelector("span")
console.log(ele)
var ele = document.querySelector(".msg h2")
console.log(ele)
var ele = document.querySelector(".msg>h2")
console.log(ele)

控制台显示效果

1.5.2.querySelectorAll:返回的是数组对象,如果要使用其中的元素,通过索引解析

querySelectorAll选择器代码

 

var ele = document.querySelectorAll("#box")
console.log(ele[1])
var ele = document.querySelectorAll(".cont")
console.log(ele[1])
var ele = document.querySelectorAll("span")
console.log(ele[1])
var ele = document.querySelectorAll(".msg h2")
console.log(ele[1])
var ele = document.querySelectorAll(".msg>h2")
console.log(ele[1])

 

控制台效果

1.6关系选择器

1.6.1 父选子

var omsg = document.querySelector(".msg");
console.log(omsg.children);
console.log(omsg.children[0].innerHTML)

控制台效果

1.6.2子选父

var osbox = document.querySelector(".sbox");
console.log(osbox.parentNode);

1.6.3选第一个子

var omsg = document.querySelector(".msg");
console.log(omsg.firstChild)

1.6.4选最后一个子

var omsg = document.querySelector(".msg");
console.log(omsg.lastElementChild)

1.6.5 上一个兄弟

var omsg = document.querySelector(".msg");
console.log(omsg.previousElementSibling)

1.6.6 下一个兄弟

var omsg = document.querySelector(".msg");
console.log(omsg.nextElementSibling)

2其他节点选择器

<body>
    <span>qwe</span>
    <div class="box">
        <span>1</span>
        <p>2</p>
        hello
        <!-- 这是注释 -->
        <em>3</em>
    </div>
    <span>zxc</span>
</body>

2.1 父选子

var obox = document.querySelector(".box")
console.log(obox.childNodes)

2.2 选上一个兄弟

var obox = document.querySelector(".box")
console.log(obox.previousSibling)
console.log(obox.previousSibling.nodeName)

2.3 选下一个兄弟

var obox = document.querySelector(".box")
console.log(obox.nextSibling)

2.4 选第一个子和最后一个子

var obox = document.querySelector(".box")
console.log(obox.firstChild)
var obox = document.querySelector(".box")
console.log(obox.lastChild)

相关文章:

  • JavaScript 全局对象
  • CMake详解
  • CMake脚本编写
  • vs2015使用教程
  • vs项目配置
  • VS项目属性的一些配置项的总结
  • 引入Irvine32库
  • vs2019安装教程
  • cef3 Binary Distributions下载及示例编译
  • VS2019直接编译cmake项目
  • C++调用构造函数的方式
  • chrome和Chromium有什么区别
  • C++ 函数指针及delegate的几种方法
  • C++中 模板Template的使用
  • c++函数后加冒号
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • Go 语言编译器的 //go: 详解
  • IDEA常用插件整理
  • JavaScript 一些 DOM 的知识点
  • Java应用性能调优
  • XML已死 ?
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 聊聊flink的BlobWriter
  • 区块链将重新定义世界
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​MySQL主从复制一致性检测
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #HarmonyOS:基础语法
  • #QT(串口助手-界面)
  • #宝哥教你#查看jquery绑定的事件函数
  • ()、[]、{}、(())、[[]]命令替换
  • (c语言)strcpy函数用法
  • (搬运以学习)flask 上下文的实现
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (一) springboot详细介绍
  • (一)VirtualBox安装增强功能
  • (一)基于IDEA的JAVA基础12
  • (转) 深度模型优化性能 调参
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .net的socket示例
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @Conditional注解详解
  • @RequestBody与@ModelAttribute
  • [145] 二叉树的后序遍历 js
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [20170728]oracle保留字.txt
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会
  • [android]-如何在向服务器发送request时附加已保存的cookie数据
  • [Assignment] C++1