jQuery学习

一.jQuery的概念

jQuery是一个快速,简洁的javascript框架,jQuery设计的宗旨是“write less,do more”。

二.jQuery.js和jQuery.min.js的区别

jQuery-1.版本号.js       开发版       268K          完整无压缩的版本,主要用于测试学习

jQuery-1.版本号.min.js   发布版        91K          经过工具压缩或经过服务器开启GZip压缩的 主要用于产品的部署

三.jQuery优点

jQuery具有独特的链式语法和短小清晰的接口;

具有高效灵活的css选择器,并且可对css选择器进行扩展;

兼容各大主流浏览器;

四.jQuery中的预执行函数

1)什么是预执行函数?

当页面结构加载完成后自动执行的函数

2)预执行函数的写法

$(function(){});
$(document).ready(function(){})

3)jQuery中的预执行函数和window.onload的区别

1、执行时间上的区别:window.onload必须等到页面内(包括图片的)所有元素加载到浏览器中后才能执行。
   而$(document).ready(function(){})是DOM结构加载完毕后就会执行。
2、编写个数不同:window.onload不能同时写多个,如果有多个window.onload,则只有最后一个会执行,
   它会把前面的都覆盖掉。$(document).ready(function(){})则不同,它可以编写多个,并且每一个都会
   执行。jQuery的预执行函数是监听事件实现。

五.jQuery中的参数

1)元素选择器 ------基于元素名字选取

$('p')

2)ID选择器------ 通过HTML中的ID属性选取的元素

$('#test')

3)class选择器 ------通过指定的class指定的元素

$('.class')


4)创建jQuery对象

与document.createElement();相类似,参数为html标签

$('<p></p>)

$('<div></div>)

六.jQuery中的DOM操作

1)获取和设置内容

text( )设置或返回所选元素的文本内容

获取 / 设置

$('#test').text(); / $('#test').text('good');

html( )设置和返回所选元素的内容,包括html标签

获取/设置

$('#test').html(); / $('#test').html('<div></div>');

2)获取和设置值和属性值

val( )设置或返回表单字段的值

获取或设置

$('#text').val(); / $('#text').val('good');

attr( )设置或返回所选元素指定的属性值

$('#text').attr("href"); / $('#text').attr("href","https:www.youkuaiyun.com");

3)添加元素

append( ) ------ 在被选元素的结尾加入内容

prepend( ) ------ 在被选元素的开头加入内容

after( ) ------ 在被选元素之后加入内容

before( ) ------ 在被选元素之前加入内容

4)删除元素

remove( ) ------ 删除被选元素,包括子元素

empty( ) ------ 从被选元素中删除子元素

5)获取并设置css类

addClass( ) ------ 向被选元素添加一个或多个类

removeClass( ) ------ 从被选元素中删除一个或多个类

toggleClass( ) ------ 对被选元素进行添加或删除类的切换操作

6)获取并设置css属性

$('p').css('background'); //获取样式
$('p').css('background','red'); //设置单个样式
$('p').css({'background':'red';'color':'red';});//设置多个样式

注:使用jQuery时需注意所有代码都需要使用jQuery,不可以javascript原生混用jQuery;

(使用$('ele')[number]可以获取到原生对象,可以将jQuery转换成原生后进行原生的代码编写)

七.jQuery的事件

    //点击事件
    $('.box1').click(function(){
        $(this).text('太阳很好');
    });
    $('.box1').on('click',function(){
        $(this).text('太阳');
    });
    //鼠标事件
    $('.box1').mouseenter(function(){
        $(this).css('background','yellow');
    });
    $('.box1').on('mouseleave',function(){
        $(this).css('background','red');
    });
 jQuery添加事件的两种方法:
* 1.jqEle.事件名(function(){});将javascript原生的事件名on去掉;
* 2.jqEle.on('事件名',function(){}):
* jQuery标准的javascript库支持鼠标事件,键盘事件,表单事件,但是不支持滚轮事件;


八.jQuery的动画

$(selector).animate({params},speed,callback);

1)隐藏和显示动画——修改width/height/opacity

//参数为动画执行速度,动画执行完毕后执行的回掉函数

$(..).show(speed, fn) //显示,默认速度为0

$(..).hide(speed, fn) //隐藏,默认速度为0

$(..).toggle(speed, fn) //隐藏显示的切换操作

2)淡入/淡出动画——修改opacity

$(..).fadeOut(speed,fu ) //淡出

$(..).fadeIn( speed,fn) //淡入

$(..).fadeToggle( speed,fn) //切换

3)折叠展开/收起动画——修改的height

$(..).slideUp( speed,fn) //收起

$(..).slideDown( speed,fn) //展开

$(..).slideToggle( speed,fn) //切换

4)万能动画函数——修改任意合法的属性

$(..).animate( {

width: '300%',

height: '30%',

opacity: '0.6',

left: '300px'

} , 动画时间毫秒, fn);

注:当使用animate(),必须使用camel方法,例如padding-right 不可以需要写成paddingRight。

九.jQuery工具方法

//测试工具
    // $.isArray(obj)判断是否维数组对象,若是返回true,若不是则返回false
    console.log($.isArray(arr1));
    //$.isFunction(obj)判断是否为函数,是返回true,否则false
    console.log($.isFunction(function(){}));
    //$.isEmptyObject(obj)判断是否为空对象
    console.log($.isEmptyObject([]));
    //$.isPlainObject(obj)判断是否为纯粹的对象
    console.log($.isPlainObject());
    //$.contains(父级,子级)判断两个元素是否包含关系  注意:查询的两个元素必须是element对象,js原生对象,不能使jquery对象
    console.log($.contains($('.box'),$('.box1')));
    var box = document.querySelector('.box');
    var box1 = document.querySelector('.box1');
    console.log($.contains(box,box1));
    //$.type(data)查看数据类型
    console.log($.type({}));
    //$.isNumeric(data)判断数据是否是数值 纯数字字符串也符合
    console.log($.isNumeric('0'));
    //$.isWindow(data)判断是否是window对象
    console.log($.isWindow(window));

十.jQuery遍历

<div class="parent">
<div class="son">
<div class="grandSon"></div>
</div>
</div>
1)遍历子节点方法

    (1)children( )

       .children(selector) 方法是返回匹配元素集合中每个元素的所有子元素(仅儿子辈

      $('div').children( ); 在上方代码只可以遍历出div="son"元素。

    (2)find( )

        查找DOM树中的这些元素的后代元素,可以用find()方法。find( )只在后代中遍历,不包括自己

      注意 :children与find方法的区别

      children是父子关系查找,find是后代关系(包含父子关系)

      $('div').find( );在上方代码中可以遍历 div class="son",div class="grandSon"元素;

2)遍历父节点

    (1)parent( )

     和children一样只会查找上一级

     $('son').parent( ); 在上方代码只可以遍历出div="parent"元素。

   (2)parents( )

     与parent( )的区别是可往上一直查到查找到祖先节点

     $('grandson').parents( );在上方代码可以遍历出div='parent';

    注:
 $( "html" ).parent()方法返回一个包含document的集合,而$( "html" ).parents()返回一个空集合

3)遍历相邻节点方法

(1)next( )

    查找指定元素集合中每一个元素紧邻的后面同辈元素的元素集合

(2)prev( )

    查找指定元素集合中每一个元素紧邻的前面同辈元素的元素集合

(3)sibling( )

   查找指定元素集合中每一个元素的同辈元素

4)追加元素

  add( )

<div class="out">
<div class="inner">
</div>
</div>

(1)add select

$('inner').add('p');

(2)add 元素

$('inner').add('<div></div>);

.add()的参数可以几乎接受任何的$(),包括一个jQuery选择器表达式,DOM元素,或HTML片段引用。

5)循环元素

(1)each( )

$.each(arr,function(index,item){});
 注释:arr是要接受遍历的数组;
      index是数组的下标;
      item是数组的每一个元素
      该方法是遍历数组/对象的每一个元素,且无返回值

(2)grep( )

 $.grep(arr,function(item,index){});
 该方法是遍历数组/对象的每一个元素,并筛选有用的元素,返回一个新数组

(3)map( )

 $.map(arr,function(item,index){});
 该方法遍历数组/对象的每一个元素,并更改每一个元素返回更改后的新数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值