位置: IT常识 - 正文

JavaScript の querySelector 使用说明

编辑:rootadmin
本文记录,JavaScript 中 querySelector 的使用方法。小白贡献,语失莫怪。 // 两种 query 的 method (方法) document.querySelector(selectors); document.querySelectorAll(selectors); 为什 ...

推荐整理分享JavaScript の querySelector 使用说明,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

本文记录,JavaScript 中 querySelector 的使用方法。小白贡献,语失莫怪。

// 两种 query 的 method (方法)document.querySelector(selectors);document.querySelectorAll(selectors);

为什么要学习 querySelector:

因为 front end 中,JavaScript 的基本逻辑就是: 选取一个 element,然后 do somethong with it;所以,一切的开始,就是要先想办法,抓到那个 element;而 querySelector 就是众多选择器中,特别好用的一个;所以,非常有必要学习;熟练的使用它,就等于迈开了前端 JS 编程,的第一大步!

那么 querySelector 是什么:

document.querySelector() 用于选取 html 中的节点(node | element);相较于传统的 DOM 选择器 (DOM selectors),其特点是,可以使用 CSS 风格的 Selectors;并且几乎支持所有CSS选择器的 syntax 风格;

常用方法,语法对比:JavaScript の querySelector 使用说明

常用的 get 某个节点的方法,无外乎三种,通过 class,tag,id;传统的 DOM 选取,与 querySelector() 的 syntax 对比如下:

// select element by class namedocument.getElementsByClassName("class_x");document.querySelectorAll(".class_x");// select element by tag namedocument.getElementsByTagName("img");document.querySelectorAll("img");// select element by id namedocument.getElementById("id_x");document.querySelector("#id_x");

使用 "多个" 选取条件,或 "递进式" 的选取条件 (descendant selector):

选取条件,可以是一个或者多个;多个的情况,并不限制个数,可以是2个,3个 ... N个;

// "递进式" 的选取条件 (descendant selector) (可以夸级) (使用"空格"符号)document.getElementsByClassName("class_x").getElementsByTagName("img");document.querySelectorAll(".class_x img");// "父子递进式" 选取条件 (不可以夸级, 必须是严格的直系父子)document.querySelectorAll(".parent_class > .child_class > .grandChild_class")// "父子递进 + 混合式" 选取条件 (使用 ">" 符号)// 选取 parent_class 中的 child_class 中的 grandChild_class,中的 img tagdocument.querySelectorAll(".parent_class > .child_class > .grandChild_class tag_img")// "递进式" 的选取条件,属性选取 (attribute)// 选取所有,id属性='large'的,并且class='bg'的,img标签document.querySelectorAll("img[id='large'][class='bg']");document.querySelector("img[id='large'][class='bg']");// "多个" 选取条件, 用逗号隔开 (相当于 A 或 B)document.querySelectorAll(".class_x, .class_y");document.querySelectorAll(".class_x, img");document.querySelectorAll(".class_x, #id_x");// "单个" 选取条件,返回第一个 matchdocument.getElementsByClassName("class_x")[0];document.querySelector(".class_x");// "多个" 选取条件,返回第一个 matchdocument.getElementsByClassName("class_x").getElementsByTagName("img")[0];document.querySelector(".class_x, img");// 选取类 class_x 中,类名为 big_pic 的 li 标签,下面的,全部兄弟们!document.querySelectorAll(".class_x li.big_pic ~ li ");// 选取类 class_x 中,类名为 big_pic 的 li 标签,紧挨着的,下一个兄弟!document.querySelectorAll(".class_x li.big_pic + li ");

对比 querySelector 和 jQuery:首先 querySelector 比 jQuery 要快!因为 querySelector 是内置方法!使用 querySelector,无需要挂在 jQuery 的文件,减少 overhead!jQuery 有各种 filter (例如:":input")! 而 querySelector,没有 jQuery 这种 filter!所以 querySelector 无法使用任何 (":input" 类的) filter!最终 querySelector 还是首选!

其他 querySelector 可使用的 CSS 选择器:

还有很多没介绍的,querySelector 可使用的 CSS 选择器;例如:伪选择器(Pseudo);通用选择器(Universal selector);一般兄弟组合器 "~" (General sibling combinator);紧邻兄弟组合器 "+" (Adjacent sibling combinator)。详情可参见 reference 中的,第4个,和第5个,link,里面有详细的 CSS 选择器的介绍

个人评价:

document.querySelectorAll() 的 "递进式" 选取,很好用;

去掉了 "传统 DOM选择器" 中,nest selector 的麻烦代码更简洁了返回的是 nodeList可进一步使用 nodeList.forEach()

而且,可以看出,当 css selectors 组合起来的时候,那种灵巧多变,是多么的强大啊!任何一个 element 都逃不过,组合的选择中。除非这个 element 不在 html 中!

Reference:Document.querySelector() - Web APIs | MDNElement.querySelectorAll() - Web APIs | MDNDescendant combinator - CSS: Cascading Style Sheets | MDNCSS selectors - CSS: Cascading Style Sheets | MDNCSS 选择器 - CSS(层叠样式表) | MDN
本文链接地址:https://www.jiuchutong.com/zhishi/303300.html 转载请保留说明!

上一篇:discuz如何开发关注功能(discuzq开发)

下一篇:python中time模块的时间格式(python中time模块的用法)

  • 美团外卖退款被拒怎么再次申请(美团外卖退款被拒绝 如何重新申请退款)

    美团外卖退款被拒怎么再次申请(美团外卖退款被拒绝 如何重新申请退款)

  • 在excel中$怎么输入(在excel中怎么输入公式计算公式)

    在excel中$怎么输入(在excel中怎么输入公式计算公式)

  • vivo手机怎样关闭推送通知(vivo手机怎么关机)

    vivo手机怎样关闭推送通知(vivo手机怎么关机)

  • 淘宝上的视频怎么下载(淘宝上的视频怎么保存到相册)

    淘宝上的视频怎么下载(淘宝上的视频怎么保存到相册)

  • 苹果官网周末会处理订单吗(苹果官网周末会变准备发货吗)

    苹果官网周末会处理订单吗(苹果官网周末会变准备发货吗)

  • 华为mate30pro都有什么功能(华为mate30pro都有哪些新功能)

    华为mate30pro都有什么功能(华为mate30pro都有哪些新功能)

  • 海尔和海信是一家吗(海尔海信是一家吗)

    海尔和海信是一家吗(海尔海信是一家吗)

  • oppor9km是什么型号(oppor9km多少毫安)

    oppor9km是什么型号(oppor9km多少毫安)

  • 联通iptv卡顿解决方法(联通iptv 卡)

    联通iptv卡顿解决方法(联通iptv 卡)

  • 怎么看微信是哪一年注册的(怎么看微信是哪个地区的)

    怎么看微信是哪一年注册的(怎么看微信是哪个地区的)

  • 为什么爱奇艺会员只能两个人用(为什么爱奇艺会员电视上用不了)

    为什么爱奇艺会员只能两个人用(为什么爱奇艺会员电视上用不了)

  • 荣耀20s顶部黑点是什么(荣耀20s顶部黑点怎么去除)

    荣耀20s顶部黑点是什么(荣耀20s顶部黑点怎么去除)

  • 2g网速是多少kb(2g网络是多少kbps)

    2g网速是多少kb(2g网络是多少kbps)

  • 局域网常见的拓扑结构有哪三种(局域网常见的拓扑结构有哪几类)

    局域网常见的拓扑结构有哪三种(局域网常见的拓扑结构有哪几类)

  • 如果把对方微信删了对方知道么(如果把对方微信拉黑了再拉回来怎么没了)

    如果把对方微信删了对方知道么(如果把对方微信拉黑了再拉回来怎么没了)

  • 手机被偷怎么定位追踪(手机被偷怎么定价)

    手机被偷怎么定位追踪(手机被偷怎么定价)

  • vivo怎么开微信运动(vivo怎么开微信悬浮窗)

    vivo怎么开微信运动(vivo怎么开微信悬浮窗)

  • 大麦买两张票是连坐吗(大麦买票可以买两张吗)

    大麦买两张票是连坐吗(大麦买票可以买两张吗)

  • 手机ip怎么查(手机ip怎么查询改国外)

    手机ip怎么查(手机ip怎么查询改国外)

  • 安卓手机怎样连接u盘(安卓手机怎样连接苹果耳机)

    安卓手机怎样连接u盘(安卓手机怎样连接苹果耳机)

  • 怎么查看滴滴出行的行程订单(怎么查看滴滴出行路线记录)

    怎么查看滴滴出行的行程订单(怎么查看滴滴出行路线记录)

  • airpods后面按键干嘛的(airpods后边的按键)

    airpods后面按键干嘛的(airpods后边的按键)

  • 怎么让APP设计更精致(如何给app设置)

    怎么让APP设计更精致(如何给app设置)

  • 一点就分享系列(理解篇5)Meta 出品 Segment Anything 4月6号版核心极速解读——主打一个”Zero shot“是贡献和辅助,CV依然在!(一点分享案例)

    一点就分享系列(理解篇5)Meta 出品 Segment Anything 4月6号版核心极速解读——主打一个”Zero shot“是贡献和辅助,CV依然在!(一点分享案例)

  • 所得税交错了怎么处理
  • 代缴职工社保手续怎么办
  • 城建税属于什么税种
  • 一般纳税人厂房出租怎么开票
  • 分公司的税收机关在总公司还是分公司
  • 6月份的申报期是几号
  • 资产减值损失为正
  • 保险中介的保险可以买吗
  • 汇算清缴需要多久
  • 委托收款背书和转让背书
  • 年末转出未交增值税的视频
  • 借款存入银行会计分录
  • 营改增后小规模纳税人
  • 小规模文化交流活动
  • 营改增后,纳税人转让房地产
  • 代理进口货物怎么做账
  • 金融企业不良资产批量收购处置业务
  • 平均应收账款金额
  • 企业所得税投资收益纳税调整
  • 航天金穗怎么开票
  • window10永久
  • 存在标的资产的亏损合同,先进行减值
  • 利润分配属于什么科目
  • 普通发票多久之后还可以红冲
  • 残疾人保障金是强制性的吗
  • 工会经费是不是应付职工薪酬
  • mac怎么airdrop给ipad
  • phppost带cookie提交
  • 超市赠送消费券怎么用
  • 酒店开业请吃饭敬酒怎么说
  • 同业代付融资
  • 财务管理集权与分权
  • 出口退税登记证在哪办
  • 非常经典的php文章
  • 微信h5页面设计
  • 销售费用属于损益类科目的收入还是费用
  • Github ChatGPT-Web:了解最新AI技术的前沿应用!
  • 金融资产减值迹象
  • 入库单正确填写方法
  • 增值税地方留存比例2023
  • 不动产租赁专票对房产有无影响
  • 法人治理结构是指明确
  • 海关进口增值税专用缴款书如何抵扣
  • 固定资产转在建工程
  • 进项加计抵减对账怎么做
  • 口罩属于什么经济分类
  • 公墓造价成本
  • 设备转固的前提条件
  • 发放个税返还用不用申报
  • 税控盘全额抵扣怎么填申报表
  • 企业资产负债表怎么做
  • 车票如何抵扣增值税
  • 鉴证咨询公司
  • 仓库做账应该注意些哪些事项
  • 明年发票可以入到今年有什么惩罚
  • 仲裁是什么意思举个例子
  • mysql 生成guid
  • mysql主从复制作用
  • mac忘记mysql初始密码
  • winxp搜索文件内容搜不出来
  • window系统怎么更新版本
  • vmstat命令
  • ubuntu zed
  • 安装win7系统后无法引导启动
  • win7关闭文件夹和内容一起显示
  • opengl 生成图片
  • 推荐10 个很棒的电影
  • 在flash中制作课件一般会遵循什么流程
  • 动态规划之矩阵连乘
  • 一块钱买的鱼多久换一次水
  • 介绍一个简单的实验
  • nodejs eventloop
  • Python中urllib+urllib2+cookielib模块编写爬虫实战
  • unity3d相机设置视角
  • 怎么用git上传项目
  • 武汉 税务局
  • 出口退税备案单证目录
  • 一般纳税人资格是什么意思
  • 台湾大学会计硕士
  • 行政单位,比如什么单位
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设