jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件 扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
去官网下载:
jquery官网
w3school
目前最新的是3.1.1版本。有压缩版本和不压缩版本。不压缩版本一般用到开发阶段,压缩版本用到生产环境。从2.X开始不支持ie9之前的浏览器。如果想兼容IE678,则应该使用1.X
jquery其实就是一个js文件,使用它就像我们用一个外部js文件一样使用即可。一般放在html的head中引入。
<script src="./libs/jquery-3.1.1.js" type="text/javascript"></script>写js代码一般等到整个页面加载完成之后,才去执行js操作,尤其涉及到对dom的操作。 JQuery的使用也是如此。一般使用下面的入口来完成。
<script type="text/javascript"> //带整个文档加载完毕之后再去执行我们传入的匿名函数。 document.onload = function () {} $(document).ready(function () { //jquery代码 }); //上面的入口可以简写成如下形式,完全与前面的的等价 $(function () { }); </script>说明:
$ 是jquery中的对象。我们使用jquery的所有操作,都是在 $ 的基础上完成的其实 $ 是 jQuery 对象的简称。 $ === jQuery使用JQuery获得的是JQuery对象,使用原生js获得的DOM对象,二者是完全不同的对象。使用的时候一定要区别开来。
<script type="text/javascript"> $(function () { var $div = $("#div");//JQuery操作节点,得到的是JQuery节点对象。Jquery对象一般用$开头来表示 var div = document.getElementById("div"); //得到的DOM对象 /* DOM对象转换成JQuery对象 $(domObj) */ var $div1 = $(div); /* JQuery对象用两种方式转变成DOM对象: 1、利用数组下标方式 JQueryObj[0] 2、利用get方法: JqueryObj.get[0] */ var domDiv1 = $div[0]; var domDiv2 = $div.get(0); }); </script> JQuery中选择器的选择器的思路和CSS的选择器的思路一样,就是去选择元素的。有三种基本选择器。
jquery对象.find(选择器):是jquery对象的方法,表示找到这个标签下的所有的指定的选择器的元素。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="libs/jquery-3.1.1.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> $(function () { var $allLi1 = $(".box li"); console.log($allLi1); //找到 class是box的元素下面的所有的li标签元素 var $allLi2 = $(".box").find("li"); // 效果等同于前面的后代选择器。 console.log($allLi2); }) </script> </head> <body> <div class="box"> <ul> <li>第一个li的内容</li> <li>第二个li的内容</li> <li>第三个li的内容</li> </ul> </div> </body> </html> 与元素的属性相关的选择器。属性选择器必须用 [ ] 括起来。
<script type="text/javascript"> $(function () { // 找到有id属性的所有元素 var $ids1 = $("[id]"); console.log($ids1); //找到.box的所有后代中有id属性的元素 var $ids2 = $(".box [id]"); console.log($ids2); //找到id等于id的元素 var $ids3 = $("[id=id4]"); console.log($ids3); //id不是box的都会被选中,没有id属性的也算进去 var $ids4 = $("[id!=box]"); console.log($ids4) // id属性以b开头的 var $ids5 = $("[id^=b]"); console.log($ids5) // id属性的值包含子字符串b的 var $ids6 = $("[id*=b]"); // 包换单词bb var boxs = $("[class~=bb]") console.log($ids6) }) </script> 使用特定的过滤规则来筛选出所需的DOM元素。过滤选择器的语法和css中的伪类的写法一样,都是用:开头。
根据元素的可见状态来选取。
选择器描述:hidden选取所有不可见的元素。包括input的type属性是hidden,display是none。:visible选取所有可见的元素。如果一个元素的visibility是hidden也会被选中。 <script type="text/javascript"> $(function() { console.log($("div:visible")); console.log($("div:hidden")); }) </script> 为了更加方便的操作表单,jquery专门添加的表单选择器
<script type="text/javascript"> $(function() { //获取所有的input、button、select、textarea console.log($(":input")); //选取所有的单行文本框 (type=text) console.log($(":text")); console.log($(":password")); console.log($(":radio")); console.log($(":checkbox")); console.log($(":submit")); console.log($(":button")); }); </script>