jQuery实现全选、全不选以及反选操作

时间: 2018-12-09阅读: 1661标签: jquery

在写购物车案例时实现全选操作使用的是js的getAttribute()setAttribute()方法获取checked属性的值是undefined实现完成之后全选操作,如果在全选中的情况下改变其中一个的状态再点击全选,之前被取消的将不在被选中。之后使用js的DOM.checked属相的获得是true或false,操作很方便,很完美没有bug。


学了jquery后单独实现下全选、全不选、反选操作。代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h3>我的爱好</h3>
    <ul>
        <li>
            <input type="checkbox" class="sAll"/>全选 <input type="checkbox" class="sNone"/>全不选 
            <input type="checkbox" class="Inverse"/>反选 
        </li>
        <li><input type="checkbox" class="check"/>篮球</li>
        <li><input type="checkbox" class="check"/>足球</li>
        <li><input type="checkbox" class="check"/>排球</li>
        <li><input type="checkbox" class="check"/>羽毛球</li>
        <li><input type="checkbox" class="check"/>乒乓球</li>
        
    </ul>
    <script src="jquery.js"></script>
    <script>
        /*全选*/
        //1.拿到全选复选框的jquery对象调用change(),当前对象的状态改变时进行下面操作
        $('.sAll').change(function () {
            //2.拿到所有class属相值为check的对象,将其checked属性值设置为true。
            $('.check').attr('checked',true);

            //点击全选,全不选、反选其中一个时其它两的选中状态清除
            $('.sNone').attr('checked',false);
            $('.Inverse').attr('checked',false);
        });
        //alert($('.sAll').attr('checked'));
        /*全不选*/
        $('.sNone').change(function () {
            $('.check').attr('checked',false);
            
            //点击全选,全不选、反选其中一个时其它两的选中状态清除
            $('.sAll').attr('checked',false);
            $('.Inverse').attr('checked',false);
        });
        /*反选*/
        //注意:attr()方法取第一个的值 ,赋值所用
        $('.Inverse').change(function () {
            //遍历所有要操作的复选框
            $('.check').each(function () {
                //如果该复选框的checked属性为true,则改为false,反之为true
                if($(this).attr('checked')){
                    $(this).attr('checked',false);
                }else{
                    $(this).attr('checked',true);
                }
               
            });
            //将全选和全不选的状态去掉(点击全选,全不选、反选其中一个时其它两的选中状态清除)
            $('.sAll').attr('checked',false);
            $('.sNone').attr('checked',false);
        });
    </script>
</body>
</html>


来源:https://www.cnblogs.com/wang--yang/archive/2018/12/09/10091303.html



站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/1527

js和jquery设置css的几种方式

js设置样式的方法: 直接设置style的属性 某些情况用这个设置 !important值无效、直接设置属性(只能用于某些属性,相关样式会自动识别); 使用setProperty 如果要设置!important,推荐用这种方法设置第三个参数

jQuery中四个绑定事件的区别 on,bind,live,delegate

jQ中提供了四种事件监听方式,bind、live、delegate、on,对应的解除监听的函数分别是unbind,die,undelegate,off.用.bind(),把相同的一个事件处理机制用到所有匹配的DOM元素上;多事件处理

jquery实现点击控制div的显示和隐藏

我们使用点击显示、点击隐藏的时候,一般有两种可选方案,toggle() 的作用就是当对象是显示的就隐藏,当是隐藏的则显示

jQuery属性操作之.val()函数

val()实例方法的三种用法:.val() : 获取匹配的元素集合中第一个元素的当前value属性值(property).val(value) : 设置匹配的元素集合中每个元素的value属性值(property).val(function(index,value){}) :钩子函数未设置或无效时

前端jquery防止数据重复提交

前端在向后端进行数据提交的时候,通常会需要在第一次提交返回前,阻止用户在快速点击发送二次请求,即防止重复提交,最简单的方法是使用标志参数或者 class 元素控制

jquery中toggleClass(), index()

toggleClass()对设置货已出被选元素的一个或多个类进行切换。该方法检查每个元素中指定的类,如果不存在则添加类,如果已设置则将之删除。这就是所谓的切换效果,不过通过“switch”参数,只能够规定只删除或者添加类。

每个 Web 开发者应该知道的 jQuery i18n 知识

在设计网站时,一个重要的考虑是国际化。世界上每个地区和国家对于文本、消息、数字和日期应该如何出现有不同的期望。特定应用程序的每个用户期望所有文本和消息以熟悉的格式显示

原生JS替代jQuery的各种方法汇总

前端发展很快,现代浏览器原生 API 已经足够好用。我们并不需要为了操作 DOM、Event 等再学习一下 jQuery 的 API。同时由于 React、Angular、Vue 等框架的流行,直接操作 DOM 不再是好的模式,jQuery 使用场景大大减少。

时隔一年,jQuery 发布 3.4.0 版本

jQuery 团队的核心开发者 Timmy Willison 今天在官网宣布了 jQuery 3.4.0,这距离上个版本 3.3.x 系列的推出已过去了一年多。Timmy 表示这可能是 3.x 分支的最后一个小版本更新,接下来的工作重心将是 jQuery 4.0 大版本的更新。

是时候和 jQuery 说拜拜了么?

在网络上也时不时会看到,“是时候和jQuery说拜拜了”,最著名的莫过于在2013年的这篇文章You Might Not Need jQuery。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!