day 030 JQuery入门

今天是JQuery的入门,主要内容有JQuery的加载,JQuery选择器,JQuery的样式操作,JQuery的click事件,JQuery动画。

  • JQuery是目前使用最广泛的JavaScript函数库
  • JQuery,选择某个网页元素,然后对它进行某种操作

JQuery的加载

  • JQuery是一个函数库,一个js文件,页面用script标签引入这个js文件就可以使用
    <script type="text/javascript" src=<js文件路径>></script>

开始使用JQuery

    <script>

        window.onload = function () {
            console.log('onload');
        }

        // 完整ready
        $(document).ready(function () {
            console.log('ready1');
        });

         // 简化eady
        $(function () {
            console.log('ready2');
        })
    </script>
  • 注意JQuery函数语句要先于javascript自带的语句执行

这里写图片描述

JQuery的选择器

  • 快速选择元素
  • 选择规则和CSS的规则相同
  • 可使用length判断是否选择成功

选择器

<script>
        $(function(){
            // 获取到class=’div‘的元素并且打印,使用CSS中类选择器的格式,.<元素类名>,注意要加引号
            var $div = $('.div');
            console.log($div); // n.fn.init(1)(返回JQuery实例对象,对象里的内容是一个div对象)

            // 获取到id =’list‘的元素并且打印出来,使用CSS中ID选择器的格式,#<元素id名>,注意要加引号
            var $list = $('#list');
            console.log($list);// n.fn.init [ul#list, context: document, selector: "#list"]

            // 获取到class='p'的元素并且打印出来
            var $p = $('.div #list .p');
            console.log($p);//n.fn.init [p.p, prevObject: n.fn.init(1), context: document, selector: ".div #list .p"]
            console.log($p.length);//1,可使用输出<获取到的对象>.length来测试是否获取对象成功,0代表没有获取成功,>0代表获取成功

            // 获取到id='list' 列表下所有的li 标签
            var $lis = $('#list li');// 层级选择器,标签选择器
            console.log($lis.length);//3(有三个li标签,所以长度返回3)
            console.log($lis);//n.fn.init(3) [li, li, li, prevObject: n.fn.init(1), context: document, selector: "#list li"]
        })
    </script>

选择器_属性选择器

  • 使用元素的属性选择元素
 <script>
        $(function(){
            // 获取到有class属性的div标签
            var $classes = $('div[class]');
            console.log($classes.length);//4

            // 获取到有id属性的div标签
            var $ids = $('div[id]');
            console.log($ids.length);// 1

            // 获取到 属性name 的值为”input1“的input标签
            var $input1 = $('input[name="input1"]');
            console.log($input1.length);// 1

            // 获取到class属性中有’haha‘的div标签
            var $divHaha = $('div[class*="haha"]');
            console.log($divHaha.length);//3

            // 获取到class属性中以’haha‘开头的div标签
            var $divBeginHaha = $('div[class^="haha"]');
            console.log($divBeginHaha.length);//2

            // 获取到class属性中以'haha'结尾的div标签
            var $divEndHaha = $('div[class $= "haha"]');
            console.log($divEndHaha.length);// 1

            // 获取到class属性中是’haha‘的或者以’haha-‘开头的div标签
            var $diveHaha = $('div[class|="haha"]');
            console.log($diveHaha.length);//1
        });
    </script>

选择器的过滤及转移

选择器的过滤

  • 对选择器集的筛选
<script>
        $(function(){
            // 获取包含ul标签的div标签(使用.has())
            var $div1 = $('div').has('ul');
            console.log($div1.length);// 1

            // 获取不包含类选择器为div1的div标签(使用.not())
            var $div2 = $('div').not('.div1');
            console.log($div2.length);//2

            // 获取所有div标签元素集中下标为2的div标签()
            var $div3 = $('div').eq(2);
            console.log($div3);//n.fn.init [div.div2, prevObject: n.fn.init(3), context: document]
        })
    </script>

选择器的转移

  <script>
       $(function(){
            var $div2 = $(".div2");
            console.log($div2);

            // 获取$div2的上一个元素
            var $preDiv2 = $div2.prev();
            console.log($preDiv2.length);//1

            // 获取$div2前面的所有元素
            var $preAllDiv2 = $div2.prevAll();
            console.log($preAllDiv2.length);//2

            // 获取$div2后面的一个元素
            var $nextDiv = $div2.next();
            console.log($nextDiv.length);// 1

            // 获取$div2后面的所有元素
            var $nextAllDiv = $div2.nextAll()
            console.log($nextAllDiv.length);// 2

            // 获取$div2的兄弟姐妹元素
            var $siblings = $div2.siblings()
            console.log($siblings.length);// 4

            var $ul = $('.ul');
            // 获取$ul的所有父级元素
            var $parent = $ul.parent();
            console.log($parent.length);// 1

            // 获取$ul的所有子级元素,注意只能获得子一级的元素
            var $children = $ul.children();
            console.log($children.length);//3 

            // 查找到$ul里的p元素,如果查找不到,也会返回一个对象,JQuery的不含元素的实例对象,其他
            // 返回不了元素的对象都是返回这个对象
            var $p = $ul.find('p');
            console.log($p.length);// 1

    })
    </script>

JQuery对标签的操作

  • 对标签的样式进行读和写
  • 读和写都用.CSS() 这个函数

操作标签的样式属性

<script>
    $(function(){
        // 获得div样式中的高度属性,打印出来
        // 获取标签对象
        var $div = $('.div');
        // 获取宽高度属性
        var $height = $div.css('height');
        console.log($height);//200px
        // 注意,如果获取的属性值有多个,只取第一个

        // 给div标签添加一个字体颜色为红色的属性,并且把高度改为100px
        $div.css({color:'red', height:'100px'});
    })
</script>

操作标签的类属性

  • 添加类属性,addClass()
  • 移除类属性,removeClass()
  • 切换添加移除类属性,toggleClass()
<script>
        $(function(){
            // 获取div对象
            var $div = $('.div');
            // 给对象加一个文字颜色类属性
            $div.addClass('color');
            // 移除文字颜色类属性
            $div.removeClass('color');

            // 给对象加一个文字颜色类属性,一个背景颜色类属性
            $div.addClass('color backgroundColor');
            // 移除添加的两个类属性
            $div.removeClass('color backgroundColor');

            // 给div添加一个点击事件,点击一次添加上文字颜色和背景颜色类属性,再点击一次,取消,再点击添加,可重复切换
            $div.click(function(){
                $div.toggleClass('color backgroundColor');
            })
        })
    </script>

JQuery绑定click事件

  • click(),在JQuery中,点击事件是一个方法
  • 在click()中,$(this),表示获取当前点击的标签对象

这里写图片描述
这里写图片描述

 <script>
        $(function(){
            // 给第一个块关联一个点击弹窗事件
            // 获取对象
            var $div = $('.div');
            // 关联点击弹窗事件(JQuery中,点击事件是一个方法)
            $div.click(function(){
                alert("memeda")
            });

            // 给第二个块中的每一个li关联一个点击事件,点击不同的标签,输出不同的值
            // 获取对象
            var $ul = $('ul');
            // 给每一个列表元素都关联一个点击事件
            $ul.children().click(function(){
                // 获取点击元素在父类的下标值
                // $(this),表示获取当前点击的对象
                // index(),表示调用元素在父类中索引值
                var $index = $(this).index();
                console.log($index);
            })
    })
    </script>

JQuery动画

  • 使用animate方法设置某个元素的某些属性,属性渐变,而达成的动画效果
  • animate可以设置一个元素的一个或者多个属性
  • 每个animate是独立的,彼此不影响,动画执行过程跟主线程是异步的

animate的参数

  • animate(),内有四个参数
    • 参数1:要改变的元素的样式的属性值,写成字典的形式
    • 参数2:动画持续的事件,单位为毫秒,一般不写单位
    • 参数3:动画曲线,默认为‘swing’,缓冲运动,还可以设置成‘linear’,表示匀速运动
    • 参数4:动画回调函数,动画完成执行的匿名函数

开始
这里写图片描述

中间
这里写图片描述

结束
这里写图片描述

“`

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值