zoukankan      html  css  js  c++  java
  • 【Jquery】prop与attr的差别

    近期因项目须要用到复选框,当中一个控制全选。

    // 全选
    $(".ckb_all").click(function(){
        if($(this).attr("checked") == true){
    		$(":input[name='ckb_img']").attr("checked",true);
    	}else{
    		$(":input[name='ckb_img']").attr("checked",false);
    	};
    });

    一開始是像上面这样做是能够实现效果的。复制粘贴相同的代码到其它须要的地方。结果发现不起作用,找了半天。发现用的jquery版本号是1.8的,所以使用attr不起作用。以下就讲讲prop与attr的主要差别。

    jquery在1.6版本号中加入了prop方法。与attr的主要差别是:
    对于HTML元素本身的固有属性。使用prop方法
    对于HTML元素开发人员自己定义的属性,使用attr方法

    举个样例:
    <a href="http://www.hao123.com" class="">hao123</a>
    对于a标签来说,像href、class这些属性是它本来就有的,在获取时一般就用prop;


    <a href="http://www.hao123.com" class="" goto="hao123">hao123</a>

    在这个样例中,a标签本身并没有goto属性。是我们自己定义的,在获取时就用attr


    像checkbox、select。选中属性相应“checked”和“selected”,都是固有属性,因此在1.6以上版本号的jquery中须要使用prop方法才干获取到正确的结果。
    比方checkbox的checked属性,使用prop,选中时返回true,没选中时返回false。假设使用attr的话,选中时返回checked。没选中时返回undefined。



    Author:顾故

    Sign:别输给以前的自己








  • 相关阅读:
    Transition 过渡/转场动画(一)
    动态创建类/ swizzle class
    Protocol协议分发器
    UITableView 支持左右滑动(二)
    UITableView 支持左右滑动(一)
    CATiledLayer显示超大图片的解决方案
    ReplicatorLayer 复制图层
    iOS OpenGL ES简单绘制纹理
    iOS OpenGL ES简单绘制三角形
    Mac定时执行脚本_服务launchctl
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/7000705.html
Copyright © 2011-2022 走看看