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

(3)选择元素——(14)接触DOM元素(Accessing DOM elements)

Every selector expression and most jQuery methods return a jQuery object. Thisis almost always what we want, because of the implicit iteration and chaining capabilities that it affords.

每一个选择器表达式和大部分的jquery方法返回了一个jquery对象。至几乎总是我们想要的,因为它提供了隐式迭代和链锁所用。

Still, there may be points in our code when we need to access a DOM elementdirectly. For example, we may need to make a resulting set of elements available toanother JavaScript library. Additionally, we might need to access an element's tagname, which is available as a propertyof the DOM element. For these admittedlyrare situations, jQuery provides the .get()method. To access the first DOM elementreferred to by a jQuery object, we would use .get(0). If the DOM element is neededwithin a loop, then we would use .get(index). So, if we want to know the tag nameof an element with id="my-element", we would write the following code snippet:

var myTag = $('#my-element').get(0).tagName;

然而在我们的代码中还有有一些地方我们想要接触到DOM元素。比如,我们可能想让一系列元素可以让其他的js库使用。另外,我们可能需要接触到一个元素的名字,使用DOM元素的属性可以做到这一点。对这些公认很少出现的场景,jquery提供了.get()方法可以由jquery对象引用。我们将使用.get(0)。如果DOM元素是在一个循环中被需要的,我们将使用.get(index)。
因此,如果我们想要知道id是my-element的元素的名字,我们将使用下面的代码片段:
var myTag=$("#my-element").get(0).tagName;

For even greater convenience, jQuery provides a shorthand for .get(). Instead of writing the preceding line, we can use square brackets immediately followingthe selector:

var myTag = $('#my-element')[0].tagName;

为了更好的便利性,jquery为get()提供了一个快捷方式。我们可以在选择器后面使用中括号,而不用写之前的代码:

var myTag = $('#my-element')[0].tagName;

It's no accident that this syntax appears to treat the jQuery object as an array of DOMelements; using the square brackets is like peeling away the jQuery wrapper to get atthe node list, and including the index(in this case, 0) is like plucking out the DOMelement itself.

毫无意外,这个语法看起来想是我们把jquery对象当成DOM元素数组来看待,使用方括号好像是去到了jquery对象的外包装,然后得到了dom元素列表,包括index(在这里是0),好像是把DOM元素自己扯了出来。

相关文章:

  • 单元测试Struts2Spring项目的Action和Service(包含源码)
  • 【Android病毒分析报告】 - KorBankDemon “吸金幽灵”打劫银行
  • CSS3之变换Transform
  • 读书笔记-编写可读代码的艺术[上]
  • 读书笔记-编写可读代码的艺术[中]
  • 读书笔记-编写可读代码的艺术[下]
  • C语言的静态函数
  • Python 入门教程 11 ---- Lists and Functions
  • HDU 4764 Stone (简单博弈) 2013 ACM/ICPC 长春网络赛
  • HDU 4762 Cut the Cake (数学概率) 2013 ACM/ICPC 长春网络赛
  • 为什么高维空间中的任给两个向量几乎都正交?
  • oracle commit 做了什么?
  • android下对存储的操作
  • android开发之滑动效果实现图片浏览_ViewFilpper的使用
  • Python 入门教程 12 ---- Battleship!
  • 【Leetcode】104. 二叉树的最大深度
  • css系列之关于字体的事
  • eclipse(luna)创建web工程
  • exports和module.exports
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JDK9: 集成 Jshell 和 Maven 项目.
  • JS专题之继承
  • SpringBoot 实战 (三) | 配置文件详解
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 基于webpack 的 vue 多页架构
  • 排序(1):冒泡排序
  • 深度学习在携程攻略社区的应用
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 微信支付JSAPI,实测!终极方案
  • 学习笔记TF060:图像语音结合,看图说话
  • 赢得Docker挑战最佳实践
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (C语言)字符分类函数
  • (第61天)多租户架构(CDB/PDB)
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (一)80c52学习之旅-起始篇
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • ***测试-HTTP方法
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • // an array of int
  • @取消转义
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [20190401]关于semtimedop函数调用.txt
  • [BetterExplained]书写是为了更好的思考(转载)
  • [bug总结]: Feign调用GET请求找不到请求体实体类
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [CareerCup] 13.1 Print Last K Lines 打印最后K行