- <!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>jquery基础/选择器</title>
- <script src="jquery.min.js"></script>
- <style>
- .box{
- width: 100px;
- height: 100px;
- background: pink;
- }
- </style>
- </head>
- <body>
-
- <div class="box">
- </div>
-
- <ul>
- <li>大比分输给</li>
- <li>那我如果不我</li>
- <li>那我</li>
- <li>引号6额</li>
- <li>了就人工</li>
- </ul>
-
- <script>
- // jQuery是将原生js里常用的一些功能进行封装
-
- // $(function () { });是等待页面的dom元素全部加载完毕,再执行代码 是jquery的入口函数
- $(function () {
- $('.box').hide();
-
- // 用原生js获取到的对象就是dom对象, 【 dom对象只能使用原生js的属性和方法】
- var mydiv = document.querySelector('.box');
- // document.querySelector(css selectors)返回文档中匹配的第一个元素
- console.dir(mydiv);
- // 用jquery方式获取到的对象就是jquery对象, 【 jquery对象只能使用jquery方法】 jquery对象是以数组形式存储的
- $('.box');
- console.dir($('.box'));
- // dom对象和jquery对象相互转换///////////////////////////////
- var myvideo = document.querySelector('video');// dom对象
- $(myvideo);// dom对象转jquery对象
-
- // jquery对象转dom对象 方法一:$('div')[index] index是索引号; 方法二:$('div').get(index) index是索引号
- $('video')[0];
- $('video').get[0];
- // jquery设置样式: $('div').css('属性','值');
-
- // jquery指定,筛选选择器 :first :last :odd选择索引号为奇数的元素 :even选择索引号为偶数的元素
- $('ul li:first').css('color','red');
- $('ul li:eq(1)').css('color','orange');// :eq(index) 索引号从0开始
-
- // jquery筛选方法:
- $('li').parent(); //parent()查找父元素 返回的是最近一级的父元素
- $('ul').children('li');//children()查找最近一级的子元素
- $('ul').find('li');//find()相当于后代选择器
- $('li:first').siblings('li');// siblings()查找兄弟节点,不包括自身
- $('li:eq(1)').nextAll('li');// nextAll()查找当前元素之后的所有同辈元素
- $('li:eq(1)').prevtAll('li');// prevtAll()查找当前元素之前的所有同辈元素
- $('li:eq(2)').hasClass('box');// 检查当前元素是否又某个特定类,有就返回true
-
- // $(this).index()得到当前索引号
-
- // eq()去获取相应索引号所对应的元素 index()获取某元素的索引号
-
- // 【jquery动画效果:】
- // 显示show(['speed](slow/normal/fast)','[easing(用来指定切换效果:'默认swing先缓慢变化再快速变化再慢下来/linear每一时刻的速度都是相同的')]','[fn(回调函数,在动画完成时执行的函数,每个元素执行一次)]','time'); 显示时的速度和动画时常,如果没有任何参数就是直接显示
- //隐藏hide()
- // 滑动:slideDown() slideUp() slideToggle() 滑动切换,点一下下拉,再点一下上拉
- // 淡入淡出效果:fadeIn() fadeOut() fadeToggle() fadeTo(speed,opacity,easing,[fn])修改元素透明度【speed和opacity必须写】
- // 自定义动画:animate(params[表示想要更改的样式属性 必须写 符合属性采用驼峰命名法 属性名可以不加引号],speed,easing,[fn]);
-
- // 【动画队列:动画一旦触发就会执行,如果短时间多次触发动画就可能出现动画排队效果】:stop()停止动画或效果。stop【必须写到动画或者效果的前面】相当于停止上一次的动画。实现不管触发多少次动画,只执行最后的s一次动画效果
-
- // hover(over/out)事件切换 over--mouseenter out---mouseleave
-
-
- // 链式编程
- // $('span').eq(index).show().siblings().hide();让当前元素显示,让当前元素的兄弟元素隐藏
-
- // 修改样式:.css({key:'value',key:'value'});属性名可以不加引号,属性值时数字也可以不加引号
-
- // 通过操作类名来修改样式的方法比较多用 类名的样式写在css中.操作类名不影响原有的类名
- // 【操作类名,可以在类名里定义一些属性和值,要不要这些属性取决于有没有类名】
- // 添加类:$('').addClass('类名'); [注意类名不要加点]
- // 删除类:$('').removeClass('类名');
- // 切换类:如果没有该类名就给它加上,如果有就给它去除 $('').toggleClass('类名'); 即可以实现,在点击事件中,第一下加上类名,再点一下移除 可以实现动画效果
-
- // 设置或获取元素的固有属性值:【设置属性值prop('属性',属性值) 获取属性值prop('属性')】 【元素的自定义属性用prop()获取不到 通过attr()获取】
-
- // 数据缓存 data() 数据缓存在data()里面,不会改变dom元素 当页面刷新,数据也会被移除
-
- // 获取文本值内容: $('div').html(); 相当于innerHTML 修改内容 $('div').html('属性值'); 获取或者修改文本内容,不包含标签text() 获取或设置表单/textarea的value值 val()
-
-
- // 节流阀 互斥锁:用来保证在任何时刻都只有一个线程访问该对象
-
- // toggleClass('类名') 如果存在该类名就删除它,如果不存在该类名就添加它
- });
- </script>
-
- </body>
- </html>