jQuery基础

什么是jQuery?

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do
More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等

如何使用jQuery?

使用 jQuery 的基本步骤(导包的代码一定要放在js代码的最上面。)

  1. 引包
  2. 入口函数
  3. 功能实现代码(事件处理)

jQuery的入口函数

案例:

//第一种写法的入口函数
$(document).ready(function () {
     console.log("我是第一种写法的入口函数");
})
//第二种写法的入口函数
$(function () {
     console.log("我是第二种写法的入口函数");
})

jQuery的入口函数与原生的入口函数的区别

原生的缺点:

  1. 不能写多个入口函数写了多个 就会覆 盖前面的
  2. 原生的获取元素的名字太长不好记
  3. 容错率低 如果前面的代码出现问题那么后面代码全都不会执行

注:
jQuery的入口函数可以写多个。
原生js的入口函数是需要等到页面上所有的资源(dom树外部的js文件 外部的css文件 图片… )都加载完毕之后jquery的入口函数只需要页面的dom树力戴完毕就可以执行。

举两个例子来看看两者的区别
例:

//js给div加边框
window.onload = function () {
    var btn = document.getElementById("btn");
    var divlist = document.querySelectorAll("div")

    btn.onclick = function () {
        for(var i = 0; i < divlist.length;i++){
            divlist[i].style.border = "1px red solid"
        }
    }
}
//jquery给div加边框:
 $(document ).ready(function () {
    $("#btn").click(function () {
        $("div"). css("border", "1px red solid");
    });
});

$的介绍

$就是jQuery的别称 而jQuery就是jQuery库提供的一个函数.(好像也不仅仅只是函数, 因为还有 $.ajax(options)这样的使用,等同 jQuery.ajax(options)) 这个函数的作用是根据 () 里的参数进行查找和选择html文档中的元素,函数作用之一就是GetElementByID的代替,但()内不仅可以是ID,还可以是各类选择器。

比如:
( d o c u m e n t ) 就 是 选 取 整 个 文 档 对 象 那 是 不 是 只 可 以 用 (document)就是 选取整个文档对象 那是不是只可以用(document)就是选取整个文档对象那是不是只可以用来代替,不是。为了防止命名冲突,jQuery库提供了另外的机制来给jQuery函数起另外的别名。

jQuery 的两大特点

  1. 链式编程:比如.show()和.html()可以连写成.show().html()。
  2. 隐式迭代:隐式 对应的是 显式。隐式迭代的意思是:在方法的内部进行循环遍历,而不用我们自己再进行循环,简化我们的操作,方便我们调用。

DOM对象 和 jQuery对象对比

1.使用DOM元素(原生js的方法)给div添加背景颜色
原生js选择器获取到的是dom对象document . getElementsByClas sName
原生的DOM元素 只能调用dom的属性或者方法不能调用jquery的方法

  var one = document.getElementById("one");
    console. log(one);
    // // one.css("backgroundColor","green"); // Uncaught TypeError: one.css is not a function
    // one.style.backgroundcolor =“ green" ;

2.使用jQuery对象
使用jQuery选择器获取到的是jQuery对象
只能调用jQuery的方法不能调用的原生的

var $one = $("#one"); //获取到的是jQuery对象保存 jQuery对象变量命名的时候最好使用$开头
console. log($one);
// $one.css("backgroundColor", "green"); // jQuery对象调用jQuery方法
// $one. style . backgroundColor = "green"; // 报错不能调用原生 的方法或者属性

jQuery对象是什么?

根据特征来看像数组 ,验证是不是说数组 jQuery 对象是一 个伪数组 不能调用数组里面的方法

  console. log($one.__proto__ === Array. prototype);
  console. log(Object.prototype.toString.call($one));

DOM和jQuery对象的相互转换
dom元素转换成jQuery对象 :直接把dom作为参数传递给$方法

var $divOne = $(one);
console.log($divOne);

把jQuery对象转换成dom元素直 接使用下标职值获取到的是就是dom元素

$divs = $("div");
console . log($divs);
var divOne = $divs[0];
console.log(divOne);
//调用jQuery的get方法 参数传索引
var divTwo = $divs . get(1);
console . log(divTwo)

经典案例:

<body>
<ul>
    <li>我是第一个li元素</li>
    <li>我是第二个li元素</li>
    <li>我是第三个li元素</li>
    <li>我是第四个li元素</li>
    <li>我是第五个li元素</li>
    <li>我是第六个li元素</li>
    <li>我是第七个li元素</li>
    <li>我是第八个li元素</li>
</ul>
</body>
    <script src = ./jquery-1.12.4.min.js></script>
    <script>
        $(function(){
        // 1.获取所有的1i元素
            var $lis = $("li");
            console.log($lis);
            // 2.遍历每一个1i元素
            for(var i = 0; i < $lis.length; i++) {
                //判断是奇数行还是偶数行
                if (i % 2 == 0) {
                    // $lis[i].css("background-color", "pink" );
                    $lis[i].style.backgroundColor = "pink";
                }else{
                    // $lis[i]. style. backgroundColor = "skyblue" ;
                    $($lis[i]).css("background-color", "skyblue");
                }
            }
        })
    </script>

总结:
jQuery相当于原生js要简洁的多,更加方便使用,实现一些功能代码要少的多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值