11.20第十三课

认识jQuery

jQuery 的理念是:write less,do more。

jQuery 极大的简化了 javascript 开发人员遍历HTML文档、操作 DOM 、处理事件、执行动画和开发 Ajax 的操作。

1.jQuery优势
  1. 轻量级。压缩后可以保持在30kb左右。
  2. 强大的选择器。可以使用CSS1-CSS3几乎所有选择器。
  3. 出色的DOM操作的封装。
  4. 可靠的事件处理机制。
  5. 完善的Ajax。
  6. 不污染顶级变量。jQuery只建立一个名为jQuery的对象,其所有的函数方法都在这个对象之下。
2.使用jQuery

jQuery 库文件一般有生产版和开发版。区别在于生产版经过了压缩,只有30kb左右,我们下载使用开发版就可以了。

使用时,在页面引入 jquery.js 库文件就可以使用了。

<script type="text/javascript" src="js/jquery.js"></script>

简单编写jQuery:

$(document).ready(function(){
            alert('Hello jQuery');
        });

window.onload方法和$(document).ready()方法的区别。

  • window.onload必须等待网页中所有内容加在完毕才能执行。
  • $(document).ready()是网页中所有DOM结构绘制完成后就执行,可能DOM元素关联的东西并没有加载。

链式风格

//等待dom元素加载完毕.
$(document).ready(function(){
    $(".level1 > a").click(function(){
        $(this).addClass("current")   //给当前元素添加"current"样式
        .next().show()                //下一个元素显示
        .parent().siblings().children("a").removeClass("current")        //父元素的兄弟元素的子元素<a>移除"current"样式
        .next().hide();                //它们的下一个元素隐藏
        return false;//事件处理阻止了默认的事件行为并停止了事件通过dom向上冒泡
    });
});

jQuery对象和DOM对象

1.jQuery对象

jQuery对象是通过jQuery包装DOM对象后产生的对象。

jQuery对象是jQuery独有的。拥有jQuery里面的方法。

例如:

lg($('#dd'));

lg(document.getElementById('dd'));

jQuery对象中无法使用DOM对象的任何方法。
DOM对象也不能使用jQuery里面的方法。

2.JQuery对象和DOM对象的相互转换。

(1)jQuery提供了两种方法将一个jQuery对象转换成DOM对象,即[index]和get(index)。

//第一种方法

lg($('#dd'));
lg($('#dd')[0]);

//第二种方法
lg($('#dd'));
lg($('#dd').get(0));

(2)DOM对象转化成jQuery对象。
只需要把DOM对象包装起来,既可以获得一个jQuery对象了。

var dd = document.getElementById('dd');
    var $dd = $(dd);
    lg($dd);

jQuery选择器

1.基本选择器

这里写图片描述

2.层次选择器

这里写图片描述

3.过滤选择器

这里写图片描述

jQuery应用实例

一、导航栏的显示与隐藏

效果图
这里写图片描述
部分代码:

$(document).ready(function(){
        $('.level1 a').click(function(){
            $(this).addClass('current').next().show().
            parent().siblings().children('a').removeClass('current').next().hide();
            return false;
        });
    });
二、品牌种类的部分显示与隐藏

效果图
这里写图片描述
这里写图片描述
部分代码:

$(function(){
        var $category = $('ul li:gt(5):not(:last)');
        $category.hide();
        var $toggleButton = $('div.showmore>a');
        $toggleButton.click(function(){
            if($category.is(':visible')){
                $category.hide();
                $(this).find('span').css('background','url(img/down.gif) no-repeat 0 0').text('显示全部品牌');

            }else{
                $category.show();
                $(this).find('span').css('background','url(img/up.gif) no-repeat 0 0').text('隐藏部分品牌');
            }
            return false;
        });
    });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值