JavaScript中的document.querySelector()方法使用详解

 更新时间:2024年06月22日 10:00:42   作者:口袋の的天空  
HTML的DOM querySelector()方法可以不需要额外的jQuery等支持,也可以方便的获取DOM元素,语法跟jQuery类似,这篇文章主要给大家介绍了关于JavaScript中document.querySelector()方法使用的相关资料,需要的朋友可以参考下

1. document.querySelector

document.querySelector 可以获取文档中的第一个匹配的元素。
这个函数返回匹配的元素(如果找到了匹配项),否则返回 null

1.1 语法:

const element = document.querySelector(selector);

1.2 示例

以下示例, 包含根据标签名选择,类名选择,属性名等选择元素

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <title>Node-Link Tree</title>
  </head>

  <body>
    <div class="container">
      <h1>你好,2024!</h1>
      <h2>你好.冬天</h2>
      <p>龙马精神</p>
      <span class="first">龙年大吉</span>
      <p class="first">龙凤呈祥</p>
      <br />
      <a target="self">1.龙年行大运,祥瑞照门庭。岁月悠悠,情谊绵长,感恩有您相伴。愿您在新的一年里,如龙腾飞,事业兴旺;如龙入海,生活美满。祝您龙年吉祥如意!
      </a>
      <br>
      <a target="_blank">龙年到来,祥瑞满天。愿您如龙般矫健,事业腾飞;如龙鳞闪耀,生活美满。祝您龙年大吉,万事如意!
      </a>
    </div>
    <script>
      // 标签名为 p 的第一个元素
      document.querySelector("p").style.color = "red";
      // class="first" 的第一个元素:
      document.querySelector(".first").style.color = "green";
      //签名为 p,且class="first" 的第一个元素
      document.querySelector("p.first").style.background = "pink";

      //带target属性的第一个a元素
      document.querySelector("a[target]").style.background = "skyblue";
      //target属性为_blank的第一个a元素
      document.querySelector("a[target='_blank']").style.background = "skyblue";

      //多元素选择时,根据文档,哪个在前面就先匹配哪个
      document.querySelector("h1,h2").style.backgroundColor = "yellow";
    </script>
  </body>
</html>

2.querySelectorAll()

当页面中出现多个相同class标签(或者多个相同标签(比如多个div))时,如果你需要返回所有的元素,请使用 querySelectorAll() 方法替代。

该方法返回所有满足条件的元素,结果是个nodeList集合。查找规则与前面所述一样。 ---->querySelectorAll 得到一个伪数组 DOM。

ParentNode.querySelectorAll()的结果是NodeList数组,但是又不是一般的js数组(Array),所以也不能直接调用Array的方法

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <title>Node-Link Tree</title>
  </head>

  <body>
    <div class="container">
      <p>龙马精神</p>
      <p class="first">龙凤呈祥</p>
    </div>
    <script>
    
      // 标签名为 p 的第一个元素
      var pAll = document.querySelectorAll("p")
      pAll[0].style.color = 'pink'
      console.log(pAll)
      
    </script>
  </body>
</html>

3.document.querySelector.bind和document.querySelectorAll.bind

定义全局的变量,方便直接获取dom

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <title>Node-Link Tree</title>
  </head>

  <body>
    <div class="container">
      <p>龙马精神</p>
      <span class="first">龙年大吉</span>
      <p class="first">龙凤呈祥</p>
    </div>
    <script>
        var query = document.querySelector.bind(document);
        var query_tagname = query('p')
        console.log(query_tagname)
        query_tagname.style.color = 'red'
    </script>
  </body>
</html>

附:使用document.querySelector()搜索时,点‘.‘和井号‘#‘的用法

document.querySelector()用于选择文档中的元素,你可以根据元素的类型(标签名div/span)、类名(class)、或 id 来进行选择。在使用时,可以根据以下规则来确定何时使用点 (`.`) 和何时使用井号 (`#`):

1. 使用点 (`.`):

当你希望选择具有特定类名的元素时,使用点。

例如,`document.querySelector('.classname')` 会选择具有指定类名的元素。

例如,<div class="box"></div> ,你可以使用 `document.querySelector('.box')` 来选择它。

2. 使用井号 (`#`):

当你希望选择具有特定 id 的元素时,使用井号。

例如,`document.querySelector('#elementId')` 会选择具有指定 id 的元素。

例如, <div id="myDiv"></div>,你可以使用 `document.querySelector('#myDiv')` 来选择它。

3. 使用标签名:

如果你想选择特定类型的元素,只需提供标签名即可。

例如,`document.querySelector('div')` 会选择页面上的第一个 `<div>` 元素。

这不需要点 (`.`) 或井号 (`#`) 前缀。

总之,前缀点 (`.`) 用于选择类名,前缀井号 (`#`) 用于选择 id,而不使用前缀时用于选择标签名。根据需要选择适当的前缀,以便准确地选择目标元素。

总结 

到此这篇关于JavaScript中document.querySelector()方法使用详解的文章就介绍到这了,更多相关js document.querySelector()方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • js Canvas实现圆形时钟教程

    js Canvas实现圆形时钟教程

    这篇文章主要为大家详细介绍了HTML5 Canvas实现圆形时钟简易教程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • javascript数组拍平方法总结

    javascript数组拍平方法总结

    本篇文章给大家详细分析了javascript数组拍平的方法,对此有兴趣的朋友跟着小编一起学习下吧。
    2018-01-01
  • 用JS实现贪吃蛇小游戏

    用JS实现贪吃蛇小游戏

    这篇文章主要为大家详细介绍了用JS实现贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • webuploader分片上传的实现代码(前后端分离)

    webuploader分片上传的实现代码(前后端分离)

    这篇文章主要介绍了webuploader分片上传的实现代码(前后端分离),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • DeviceOne 让你一见钟情的App快速开发平台

    DeviceOne 让你一见钟情的App快速开发平台

    DeviceOne是一个非常先进的App开发平台,使用Javascript 构建原生体验的移动应用程序,DeviceOne主要关注外观和体验,以及和你的应用程序的 UI 交互
    2016-02-02
  • js判断空对象的实例(超简单)

    js判断空对象的实例(超简单)

    下面小编就为大家带来一篇js判断空对象的实例(超简单)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • javascript中的 object 和 function小结

    javascript中的 object 和 function小结

    JavaScript的面向对象是基于原形的,所有对象都有一条属于自己的原型链。Object与Function可能很多看Object instanceof Function , Function instanceof Object都为true而迷惑,所以首先看下对象的实例。
    2016-08-08
  • 微信小程序实现评论功能

    微信小程序实现评论功能

    这篇文章主要为大家详细介绍了微信小程序实现评论功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • javascript实现匀速动画效果

    javascript实现匀速动画效果

    这篇文章主要为大家详细介绍了javascript实现匀速动画效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 将查询条件的input、select清空

    将查询条件的input、select清空

    查询条件清空将input、select的值清空,下面有个不错的示例,需要的朋友可以了解下
    2014-01-01

最新评论