1>引子

    jQuery官网介绍:write less,do more

uery是javascript的一个库,包含多个可重用的函数,用来辅助我们简化javascript开发。

2>先看下引入jQuery

    

<!--可以引入百度的jQuery库-->
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

<!--或者从官网下载jQuery库到本地,以文件路径方式-->
<script src="./jquery-3.3.1.min.js"></script>

jquery 引用echars jquery的引用_jquery 引用echars

jquery 引用echars jquery的引用_选择器_02

//jquery是js的一个库文件,既然是库文件,那么就会抛出来一个构造函数或者对象

//$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕
//书写jquery的方式  入口函数
$(document).ready(function(){
   alert(111)
});

//等价
$(function(){
   alert(222);
});

补充一点之前,js脚本为什么要写在window.onload下面

jquery 引用echars jquery的引用_css_03

jquery 引用echars jquery的引用_选择器_04

所以, 以后写jQuery都写在 $(function(){XXXXXX})就行了,这就是入口函数,DOM结构绘制完毕后就执行。

3>再看下它是如何简化js开发的

    一个简单的例子,页面一个按钮btn 控制div展示,js写法如下

    

window.onload = function(){
    var btn1 = document.getElementsByTagName('button')[0];
    var div = document.getElementsByTagName('div');
    btn1.onclick = function(){
    for(i=0; i<div.length; i++){
        div[i].style.display = 'block';
        div[i].innerHTML = '展示了'
    }
    }
    };

如上,需要找到对应的btn和div DOM对象,再于btn对象上增加onclick方法,再写循环,改变div的属性等,相当繁琐。

引入jQuery之后,写法如下:

<script src="./jquery-3.3.1.min.js"></script>
$(function(){
   $('#btn').click(function(){
      $('div').css('display','block');
      $('div').html('div展示了')
   })
})

直接定位到相应的元素,增加事件函数或者增改样式属性。

4>jQuery的选择器,也就是定位元素的方法,其实跟css绝大相同

    4.1>id选择器,#ID值

    

jquery 引用echars jquery的引用_jQuery_05

    4.2>标签选择器,标签值,

//设置多个值 设置多个值得时候使用对象存储 key:value
 $('a').css({'color':'yellow','font-size':'24px'});

如上,当要设置多个样式时,用对象存储,key:value

    4.3>class选择器,.类值

$('.li3').css('background','green');

    4.4>通配符选择器

console.log($('*'));
//清空整个界面的dom元素
$('*').html('');

5>jQuery层级选择器

//1.后代选择器  div p
$('#box p').css('color','red');
         
//2.子代选择器  div > p
$('#box>p').css('color','yellow');
         
//3.毗邻选择器 匹配素所有紧接着选中元素的兄弟 +
$('#father+p').css('font-size','30px');
         
//4.兄弟选择器 ~
$('#father~p').css('background','blueviolet');
         
//5.获取第一个元素
$('li:first').css('font-size','50px');

//6.获取最后一个元素
$('li:last').css('font-size','50px');

//7.获取指定索引值的那一个元素
$('li:eq(3)').css('font-size','50px');

6>jQuery过滤选择器


$('li:odd').css('color','red');
         
//索引为奇数的元素
$('li:even').css('color','yellow');

//选中索引值为1的元素 *(通过索引定位,很常用)
$('li:eq(1)').css('font-size','100px');

//大于索引值1
$('li:gt(1)').css('font-size','50px');

//小于索引值1
$('li:lt(1)').css('font-size','12px');

7>jQuery属性选择器

// 标签名[属性名] 查找所有含有id属性的该标签名的元素
$('li[id]').css('color','red');

// 匹配所有class属性等于box的元素
$('li[class=box]').css('font-size','30px');
         
// [attr!=value] 匹配所有不含有指定的属性,或者属性不等于特定值的元素
// 这里是匹配所有不包含class属性 和 class属性不等于box的元素
$('li[class!=box]').css('font-size','50px');

// ^匹配给定的属性是以某些值开始的元素
$('input[name^=user]').css('background','gray');
         
// $匹配给定的属性是以某些值结尾的元素
$('input[name$=222]').css('background','greenyellow');

// *匹配给定的属性是包含某些值的元素
$('button[class*=btn]').css('background','red');

8>jQuery筛选选择器

//获取第n个元素 数值从0开始
$('span').eq(1).css('color','#FF0000');

//获取第一个元素 :first ,最后一个元素:last
$('span').first().css('color','greenyellow');
$('span').last().css('color','greenyellow');

//.parent() 选择父级元素
$('span').parent('.p1').css({"width":'30px',height:'40px',"background":'red'});

//.siblings()选择所有的兄弟元素
      $('.list').siblings('li').css('color','red');

      //.find() 查找所有的后代元素
      $('div').find('button').css('background','yellow');