• jquery中attr和prop的区别


    看了网上很多关于两者的对比,但都不是自己满意的答案,总结了自己感觉比较专业的答案

    要了解两者的区别,首先要区别HTML标签和DOM元素对象,页面加载后,HTML标签会对应一个DOM元素对象(在内存中)。DOM元素对象会将HTML标签的固有属性解析成DOM元素对象的属性

    • attr操作的就是HTML标签的内容(在页面上通过Firebug等开发者工具可以查看到)

    • prop操作的是DOM元素的内容(数据通过开发者工具不能可视)。

    jQuery中attr() 对应原生JS中的 setAttribute() / getAttribute ,prop() 对应原生JS中 DOM对象.property;前者设置的“属性”会在元素标签中显示,后者设置的“属性”存在于该元素对应DOM对象下。用prop()设置的属性,不能用attr()访问的到。同样,用attr()设置的属性,用prop()也访问不到的。(不包括id,class等自有属性,自有属性无论是attr()还是prop()都能访问和设置,因为前面提到的“DOM元素对象会将HTML标签的固有属性解析成DOM元素对象的属性”,因此prop和attr都可以操作(读取/设置)固有属性)

    那么,什么时候使用attr(),什么时候使用prop()?

    1. 添加属性名称该属性就会生效应该使用prop();
    2. 是有true,false两个属性使用prop();
    3. 其他则使用attr();
  • 相关阅读:
    转载: HashMap的工作原理
    什么web服务器、什么是应用服务器,常见的web服务器和应用服务器有哪些
    论文查重应对策略
    web测试方法总结
    软件测试中十大负面测试用例
    mysql 学习笔记
    Tomcat转jboss踩的那些坑
    实现简单的List功能
    java ScriptEngine 使用 (java运行脚本文件)
    rmi 工作原理
  • 原文地址:https://www.cnblogs.com/jerrypig/p/7615552.html
Copyright © 2020-2023  润新知