getAttribute() 与 attr() 的区别

getAttribute() 与 attr() 的区别

https://blog.csdn.net/xiphap/article/details/79397060

一直以为 getAttribute() 和 attr() 都是获取元素属性的方法,只是一种是 JS 写法,一种是 JQ 写法,但其实它们是有区别的。
主要区别

调用 getAttribute() 的主体必须是元素(Element)
调用 attr() 的主体必须是对象(Object)
JS写法:getAttribute()

getAttribute() 是元素(Element)下的一种方法,因此想调用这个方法,必须确保它的调用主体是元素,否则会报错。
正确使用方式:

getAttribute() 与 attr() 的区别

错误使用方式:

getAttribute() 与 attr() 的区别

通过 JQ 选择器获取 div,此时的 div 是对象(Object)也就无法调用 getAttribute() 方法,浏览器(Safari)会报错如下:

  getAttribute() 与 attr() 的区别

JQ写法:attr()
getAttribute() 与 attr() 的区别

jQuery API Documentation 中对 attr() 方法——准确说是 attr( attributeName ) 方法的描述是“获取一组相匹配元素中首个元素的属性值”。
描述中的“一组元素”应该指的是对象(Object),而不是多个元素组成的集合(HTMLCollection),因为如果方法的执行主体是集合,浏览器同样会报错:

getAttribute() 与 attr() 的区别

正确使用方式:

getAttribute() 与 attr() 的区别

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112707.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Feign原理 (图解)_feign原理

    Feign原理 (图解)_feign原理1.1简介:Feign远程调用的Feign远程调用,核心就是通过一系列的封装和处理,将以JAVA注解的方式定义的远程调用API接口,最终转换成HTTP的请求形式,然后将HTTP的请求的响应结果,解码成JAVABean,放回给调用者。Feign远程调用的基本流程,大致如下图所示。从上图可以看到,Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的Request请求。通过Feign以及JAVA的动态代理机制,使得Java…

    2022年10月5日
    2
  • 倾斜摄影当中重叠度、传感器尺寸、焦距等参数问题梳理[通俗易懂]

    倾斜摄影当中重叠度、传感器尺寸、焦距等参数问题梳理[通俗易懂]1序随着无人机的快速发展,倾斜摄影行业迎来了一个新的浪潮,越来越多的人利用无人机从事测绘行业的相关数据采集工作。在数据采集过程当中遇到了各种各样的问题,导致飞出来的数据不达标,无法完成模型重建工作。这里根据自己的接触对倾斜摄影过程当中重叠度、传感器、焦距、飞行速度、拍照间隔等参数以及他们之间的相互关系做一个简单的梳理。如有不当或错误之处敬请指正。本文很多内容参考自【Sm

    2022年6月11日
    62
  • Carson带你学Android:最全面的Webview使用详解

    Carson带你学Android:最全面的Webview使用详解前言现在很多App里都内置了Web网页(HypridApp),比如说很多电商平台,淘宝、京东、聚划算等等,如下图那么这种该如何实现呢?其实这是Android里一个叫WebView的组件实现的。今天我将全面介绍WebView的常用用法。目录1.简介WebView是一个基于webkit引擎、展现web页面的控件。Android的Webview在低版本和高版本采用了不同的webkit版本内

    2022年6月2日
    42
  • 深度强化学习——DQN「建议收藏」

    DQN(DeepQ-Learning)可谓是深度强化学习(DeepReinforcementLearning)的开山之作,是将深度学习与增强学习结合起来从而实现从感知(Perception)到动作(Action)的端对端(End-to-end)学习的一种全新的算法。

    2022年4月6日
    234
  • RT-thread finsh组件工作流程[通俗易懂]

    RT-thread finsh组件工作流程[通俗易懂]finsh是RT-Thread的命令行外壳(shell),提供一套供用户在命令行的操作接口,主要用于调试、查看系统信息。在大部分嵌入式系统中,一般开发调试都使用硬件调试器和printf日志打印,在有些情况下,这两种方式并不是那么好用。比如对于RT-Thread这个多线程系统,我们想知道某个时刻系统中的线程运行状态、手动控制系统状态。如果有一个shell,就可以输入命令,直接相应的函数执行获得需要的

    2022年5月21日
    37
  • ❤️爆肝3万字,最硬核丨Mysql 知识体系、命令全集 【建议收藏 】❤️

    ❤️爆肝3万字,最硬核丨Mysql 知识体系、命令全集 【建议收藏 】❤️Mysql知识体系、命令全集

    2022年8月22日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号