初识jQuery

jQuery是什么?

jQuery其实就是一堆的js函数(js库),也就是普通的js而已,不是全新的东西。

write less, do more!!! 

人很话不多

 

Why jQuery?

1、jQuery面向用户良好的设计使得在使用过程中彻底解放了记忆原生操作DOM的接口;

2、jQuery中大量可复用的函数和发展过程中常年积累下来的插件库,可以极大的简化JavaScript开发;

3、jQuery在半数以上并没有复杂交互的网站中得以大面积使用,因为他们需要的仅仅是一些兼容低级浏览器而又呈现炫酷效果动画的页面;

4、jQuery改变了百万人编写JavaScript的方式,当然部分人已经觉得时过境迁,组件化,工程化,大行其道,但请不要忘记他的前端开发者的启蒙意义!且很多公司很多项目仍然需要它,所以笔面试必会!

 

jQuery学习注意点

1、jQuery只是辅助工具,不能完全替代js,二者并存当方式出现在项目中

2、jQuery很庞杂,要会使用,但应重学思想

3、jQuery方法很多,按需学习,把常用的有价值的学会

4、jQuery api可以现用现查

 

jQuery 使用-起步

引入jQuery工具库

cdn: http://www.jq22.com/cdn/#a2

下载地址: http://www.jq22.com/jquery-info 122

官方地址(下载api查询等)

中文: https://www.jquery123.com/

英文原版: https://jquery.com/

核心全局函数

$(jQuery)

1、使用css selector选出元素

<div class="wrapper">
    <ul>
        <li>1</li>
        <li data="Duyi">2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
        <li>10</li>
        <li>11</li>
    </ul>
</div>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
<script type="text/javascript">
    // css selector
    // 实例方法
    $('div').css({border:'1px solid black'});

    // css selector
    $('.wrapper ul li').css({width: 100, height: 100, backgroundColor: 'red'});
</script>

 2、jQuery中一些特有的选择器

// jquery unique selecotor
$('.wrapper ul li:first'); //选中第一个
$('.wrapper ul li:last'); //选中最后一个
$('.wrapper ul li:odd'); //选中奇数个
$('.wrapper ul li:even'); //选中偶数
$('.wrapper ul li:eq(4)'); //选中特定的第几个
$('li[data="Duyi"]); //选中带有data="duyi"属性的,^=表示开头,&=表示结尾,!=表示没有该属性

3、jQuery中的容错机制 

// null undefined '' 容错机制
$(null); // jQuery.fn.init() 空的对象

$('div')
    .find('span') //没有找到div下的span时,js不会停止进程
    .css({width: 100, height: 100, backgroundColor: 'red'});

4、dom

var div = document.getElementByTagName('div');
console.log(div, $(div));
// <div>...</div> dom对象
// jQuery.fn.init(1) jQuery对象

5、$(function(){})和$(document).ready(function(){})在DOMContentLoaded之后,和window.onload不同,在其之前。

6、$('div','.wrapper')选取二种,不是同时满足

$() 对象?

jQuery库  封闭作用域

(function() {
    function jQuery(selector) {
        return new jQuery.prototype.init(selector);
    }
    jQuery.prototype.init = function(selector) {
        // 选出 dom 并且包装成jQuery对象    返回
        // id class tag
        this.length = 0;
        if(selector.indexOf('.') != -1) {
            var dom = document.getElementsByClassName( selector.slice(1) );
        }else if(selector.indexOf('#') != -1){
            var dom = document.getElementById( selector.slice(1) );
        }else {
            var dom = document.getElementsByTagName(selector);
        }
        if(dom.length == undefined) {
            this[0] = dom;
            this.length ++;
        }else{
            for (var i = 0; i < dom.length; i++){
                this[i] = dom[i];
                this.length ++;
            }
        }
        return this;
    }
    jQuery.prototype.css = function(config) {
        for(var i = 0; i < this.length; i++){
            for(var attr in config){
                this[i].style[attr] = config[attr];
            }
        }
        return this;
    }
    jQuery.prototype.init.prototype = jQuery.prototype;
    window.$ = window.jQuery = jQuery;
}())

其中,链式调用通过return this实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值