zoukankan      html  css  js  c++  java
  • jQuery 中 attr() 和 prop() 方法的区别

    在 1.9.0 的版本中:

    <input type="checkbox" />
    <script>
        $(function() {
            $('input').click(function() {
                $(this).attr('checked');
            });
        });
    </script>

    点击 checkbox,结果都是 undefined

    而在 1.8.3 的版本中,结果是 checked 和 undefined

    到这里,问题答案找到了,就是使用 attr() 方法的问题,于是查看官方文档, 才知道从 jQuery 1.6 开始新增了一个方法 prop(),但是一直都没有使用过。

    从中文意思看,两者分别是获取/设置 attributes 和 properties 的方法,那么为什么还要增加 prop() 方法呢?

    因为在 jQuery 1.6 之前,使用 attr() 有时候会出现不一致的行为。

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

    根据官方的建议:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()

    到此,将 attr('checked') 改成 prop('checked') 即可修复提的 issues 了。

  • 相关阅读:
    2、ansilbe常用模块详解及inventory介绍
    1、Ansible简介及简单安装、使用
    dhcp、tftp及pxe简介
    php-fpm常见错误
    php之编译安装
    nginx之常见错误
    ssh之秘钥登陆
    MySQL之主从复制
    Python之虚拟环境
    php调试工具之firePHP
  • 原文地址:https://www.cnblogs.com/zhuiluoyu/p/5643721.html
Copyright © 2011-2022 走看看