js querySelector() 使用方法


Posted in Javascript onDecember 21, 2016

querySelector 定义和用法

querySelector() 方法返回文档中匹配指定 CSS 选择器的一个元素。
注意: querySelector() 方法仅仅返回匹配指定选择器的第一个元素。如果你需要返回所有的元素,请使用 querySelectorAll() 方法替代。

浏览器支持

表格中的数字表示支持该方法的第一个浏览器的版本号。

js querySelector() 使用方法

语法
document.querySelector(CSS selectors)

参数值

参数 类型 描述
CSS 选择器 String 必须。指定一个或多个匹配元素的 CSS 选择器。 可以使用它们的 id, 类, 类型, 属性, 属性值等来选取元素。 对于多个选择器,使用逗号隔开,返回一个匹配的元素。

技术细节

DOM 版本: Selectors Level 1 Document Object
返回值: 匹配指定 CSS 选择器的第一个元素。 如果没有找到,返回 null。如果指定了非法选择器则 抛出 SYNTAX_ERR 异常。

实例

获取文档中 id="demo" 的第一个元素:

<p id="demo">id="demo" 的 p 元素</p>
<p id="demo">id="demo" 的 p 元素</p>
<p> 点击按钮修改过第一个 id="demo" 的 p元素内容</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction() {
 document.querySelector("#demo").innerHTML = "Hello World!";
}
</script>

更多实例

1、获取文档中第一个 <p> 元素:

<p>这是一个 p 与元素。</p>
<p>这也是一个 p 与元素。</p>
<p>点击按钮修改文档中第一个 p 元素的背景颜色。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction() {
 document.querySelector("p").style.backgroundColor = "red";
}
</script>

2、获取文档中 class="example" 的第一个元素:

<h2 class="example">class="example" 的标题</h2>
<p class="example"> class="example" 的段落。</p> 
<p>点击按钮为第一个 class="example" 的元素添加背景颜色。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction() {
 document.querySelector(".example").style.backgroundColor = "red";
}
</script>

3、获取文档中 class="example" 的第一个 <p> 元素:

<h2 class="example">class="example" 的标题</h2>
<p class="example">class="example" 的段落。</p> 
<p>点击按钮为第一个带有 class="example" 的 p 元素添加背景颜色。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction() {
 document.querySelector("p.example").style.backgroundColor = "red";
}
</script>

4、获取文档中有 "target" 属性的第一个 <a> 元素:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>三水点靠木</title>
<style>
a[target] {
 background-color: yellow;
}
</style>
</head>
<body>

<p> CSS 选择器 a[target] 确保所有有 target 属性的链接背景颜色为黄色:</p>
<a href="//3water.com">3water.com</a>
<a href="//www.disney.com" target="_blank">disney.com</a>
<a href="//www.wikipedia.org" target="_top">wikipedia.org</a>
<p>点击按钮为带有 target 属性的链接添加红色背景。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction() {
 document.querySelector("a[target]").style.border = "10px solid red";
}
</script>
</body>
</html>

5、以下实例演示了多个选择器的使用方法。
假定你选择了两个选择器: <h2> 和 <h3> 元素。
以下代码将为文档的第一个 <h2> 元素添加背景颜色:

<h2> h2 元素</h2>
<h3> h3 元素</h3>
<script>
document.querySelector("h2,h3").style.backgroundColor = "red";
</script>

6、但是,如果文档中 <h3> 元素位于 <h2> 元素之前,<h3> 元素将会被设置指定的背景颜色。

<h3> h3 元素</h3>
<h2> h2 元素</h2>
<script>
document.querySelector("h2, h3").style.backgroundColor = "red";
</script>

7、通过获取select的内容实现网址跳转

<select id="language-picker">
<option value="cs">Česky</option>
<option value="en">English</option>
<option value="es">Español</option>
<option value="fr">Français</option>
<option value="jp">日本?</option>
<option value="pl">Polski</option>
<option value="pt">Português</option>
<option value="zh" selected>中国的</option>
</select>
<script>
 var lang = document.querySelector('#language-picker');
 lang.addEventListener('change', function(e) {
 if (e.target.value === 'en') {
  window.location = '/';
 } else {
  window.location = '/' + e.target.value;
 }
 });
</script>

三水点靠木小编提醒:因为ie8以上版本才支持querySelector,请大家酌情使用。

Javascript 相关文章推荐
JS、CSS加载中的小问题探讨
Nov 26 Javascript
setTimeout自动触发一个js的方法
Jan 15 Javascript
js正则表达式中test,exec,match方法的区别说明
Jan 29 Javascript
基于jquery实现即时检查格式是否正确的表单
May 06 Javascript
jQuery图片左右滚动代码 有左右按钮实例
Jun 20 Javascript
在JS循环中使用async/await的方法
Oct 12 Javascript
vue.js层叠轮播效果的实例代码
Nov 08 Javascript
JS实现的贪吃蛇游戏完整实例
Jan 18 Javascript
JavaScript命名空间模式实例详解
Jun 20 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
Mar 06 Javascript
vue在线动态切换主题色方案
Mar 26 Javascript
Vue跨域请求问题解决方案过程解析
Aug 07 Javascript
简单实现Vue的observer和watcher
Dec 21 #Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
Dec 21 #Javascript
js实现开启密码大写提示
Dec 21 #Javascript
js实现的在线调色板功能完整实例
Dec 21 #Javascript
Bootstrap 模态框(Modal)插件代码解析
Dec 21 #Javascript
清除输入框内的空格
Dec 21 #Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 #Javascript
You might like
php连接数据库代码应用分析
2011/05/29 PHP
一个实用的php验证码类
2017/07/06 PHP
JavaScript Accessor实现说明
2010/12/06 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
详解vue axios中文文档
2017/09/12 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
Nodejs监控事件循环异常示例详解
2019/09/22 NodeJs
小程序实现上传视频功能
2020/08/18 Javascript
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
python实现文本文件合并
2015/12/29 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
python多线程并发及测试框架案例
2019/10/15 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
selenium如何定位span元素的实现
2021/01/13 Python
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
C有"按引用传递"吗
2016/09/06 面试题
大学本科毕业生求职信范文
2013/12/18 职场文书
交通事故私了协议书
2014/04/16 职场文书
主持人演讲稿
2014/05/13 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android
Java实现简单小画板
2022/06/10 Java/Android