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

querySelector操作dom的用法

获取元素DOM对象有很多种方法,以前一直在用getElementById和getElementsByTagName等,现在对这些方法和querySelector做一个总结
常见的获取元素的方法有3种,分别是通过元素ID、通过标签名字和通过类名字来获取。

1.DOM提供了一个名为getElementById的方法,这个方法将返回一个与之对应id属性的节点对象,它是document对象特有的函数,只能通过其来调用该方法,使用方法如下:document.getElementById(‘idName’);

2.getElementsByTagName方法返回一个对象数组(准确的说是HTMLCollection集合),返回元素的顺序是它们在文档中的顺序,传递给 getElementsByTagName() 方法的字符串可以不区分大小写,使用方法如下:document.getElementsByTagName(tagName);

3.DOM还提供了getElementsByClassName方法来获取指定class名的元素,该方法返回文档中所有指定类名的元素集合,作为 NodeList 对象。NodeList 对象代表一个有顺序的节点列表。NodeList 对象 我们可通过节点列表中的节点索引号来访问列表中的节点(索引号由0开始), 所以有时使用时要指定下标,使用方法如下:document.getElementsByClassName(‘className’);

4.querySelector() 方法返回匹配指定 CSS 选择器元素的第一个子元素 。 该方法只返回匹配指定选择器的第一个元素。如果要返回所有匹配元素,需要使用 querySelectorAll() 方法替代.
具体的写法如下所示:

document.querySelector("#app")      //获取到id名为app的首个元素

由于querySelector是按css规范来实现的,所以它传入的字符串中第一个字符不能是数字.

最后再根据查询的资料总结一下:
query选择符选出来的元素及元素数组是静态的,而getElement这种方法选出的元素是动态的。静态的就是说选出的所有元素的数组,不会随着文档操作而改变.
在使用的时候getElement这种方法性能比较好,query选择符则比较方便.

相关文章:

  • webpack打包文件出错
  • npm中的--save-dev与--save的区别
  • vue-router路由导航钩子
  • javascript本地上传并解析excel文件
  • echarts柱状图的x轴文字纵向显示
  • ajax实现跨域请求的几种方式--前端
  • css3-单位px与vw,rem的区别
  • openlayers4通过拖动滑动条设置图层颜色透明度
  • openlayers4判断一个点是否在闭合图形的内部
  • 常见电脑屏幕分辨率
  • css3更改默认滚动条样式-webkit-scrollbar
  • GIS开发-天地图按照地名搜索定位
  • css3中的伪类before和after常见用法
  • openlayers4获取一个图形的边界
  • Vue.js小例子--tab选项卡切换
  • ES6指北【2】—— 箭头函数
  • 2018一半小结一波
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • co模块的前端实现
  • httpie使用详解
  • JavaScript设计模式系列一:工厂模式
  • java第三方包学习之lombok
  • Java应用性能调优
  • python 装饰器(一)
  • ReactNative开发常用的三方模块
  • React-生命周期杂记
  • Tornado学习笔记(1)
  • Vue2.0 实现互斥
  • 从tcpdump抓包看TCP/IP协议
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 工作手记之html2canvas使用概述
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 在Unity中实现一个简单的消息管理器
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • # 透过事物看本质的能力怎么培养?
  • #QT(一种朴素的计算器实现方法)
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • %@ page import=%的用法
  • (02)Hive SQL编译成MapReduce任务的过程
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (二)fiber的基本认识
  • (二)构建dubbo分布式平台-平台功能导图
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ***检测工具之RKHunter AIDE
  • ... 是什么 ?... 有什么用处?
  • .net core使用ef 6
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @Autowired自动装配
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • [20190401]关于semtimedop函数调用.txt