加载中...

JQuery

JQuery

 

 $函数

 $("#box").css("background-color","red");

一定要加引号,只有

1     $(this)

2     $(document)

3     $(window)

 

$("#box")[0].style.backgroundColor = "red";    //$(“#box”)是jQuery对象,而不是JS原生对象。加[0]就能转为原生对象
没有引号。

 

jQuery("#box");   $与JQuery是相同的,为了方便一般使用$

 

jquery选择器与删选器

选择器:Jquery支持CSS2.1,也支持部分CSS3

 

删选器:

$("div:first")    //选择首个项

$("div:last")     //选择最后一个

$("div:eq(0)")    //单独选择一个

$("div:lt(4)")    //小于4的项

$("div:gt(3)")    //大于3的项

$("div:odd")      //所有奇数项

$("div:even")     //所有偶数项

 

CSS()方法

$(“p”).css(“background-color”);          //得到css样式:背景颜色

$(“p”).css(“background-color”,”red”);         //设置css样式:背景颜色

 

$(“p”).css({             //如果想设置多样式就使用json写

       “width”:500           //设置宽度为500,单位可以不写,也可以写

});

 

Animate()方法

        $('.box').animate({'left':500},2000);     //向右移动500px

       

        $('.box').animate({'left':500,'top':500},2000);   //设置向右与向下两个参数,同时运行,向右下角平移500px

       

        $('.box').animate({'left':500},2000,function(){     //向右移动500px,同时设置一个回调函数

            $('.box').animate({'top':500},2000);       //移动结束后,向下移动500px;

        });

 

JQuery事件

jQuery事件不带ON,例如:原生js的onclick事件变成click

 

JQuery常用事件:

鼠标触摸(悬停):Mouseover(包括子元素) ==> mouseenter(不包括子元素)

点下鼠标:mousedown

释放鼠标;onmouseup

点击完成:click

双击事件:dblclick

鼠标离开:mouseout(包括子元素)==>mouseleave(不包括子元素)

获取鼠标位置:mousemove

 

例:

$('#box').click(function(){             //JQuery方式设置一个点击事件

       //点击发生的事件处理代码

});

 

JQuery-序与迭代

$(‘p’).eq(0)    //单选,与选择器eq相似

 

$(‘p’).index();         //返回在亲兄弟下的排名,不论什么选择器

 

$(‘p’).each( function(i) { });    //表示遍历节点,全部遍历,后面的函数方法表示遍历后运行的事情,此时方法里面$(this)指向遍历的数;

 

$(selector).length   //length 属性包含 jQuery 对象中元素的数目。与size方法相似,推荐使用这个

 

$(selector).size()     //方法返回被 jQuery 选择器匹配的元素的数量。

 

$(selector).get(0)  //获得指定的元素。里面的值可以是index

 

动画相关的方法

$(‘div’).show();       //让一个本身是display:none元素显示

$(‘div’).hide();        //隐藏元素display:none

 

$(‘div’).toggle();     //自动判断,如果可见就隐藏,否则显示。

 

$(‘div’).slideDown();      //下滑展开

 

$(‘div’).slideUp();           //上滑回收

 

$(‘div’).slideToggle();            //滑动切换(与togle方法类似)

 

//以上几个可以传递两个参数,第一个是效果时间,第二个为一个回调函数

 

$(‘div’).fadeIn();      //淡入效果

 

$(‘div’).fadeOut();   //淡出效果

 

$(‘div’).fadeTo();     //淡到那个数

 

$(‘div’).fadeToggle();     //淡出入切换

 

//fadeto拥有三个参数,第一个是动画时间,第二个是要变到的·透明度,第三个为回调函数,fadeTo的起点不一定是display:none

 

$(‘div’).delay(1000).togle();    //延迟一秒再运行

 

$(‘div’).stop();        //停止当前的anmiate动画,但是不清除队列,立即执行后面的animate动画

 

$(‘div’).stop(true);         //停止当前的animate动画,并且清除队列

 

$(‘div’).stop(true);         //瞬间完成当前的animate动画,并且清除队列

 

//stop(是否清除队列,是否瞬间完成当前动画) 默认为false

 

$("div").finish();             //瞬间完成所有动画队列

 

$("this").is(‘.t’);        //是否含有t类

 

$("this").is(‘p:let(3)’);             //判断点击这个的p是否小于3

 

//注:is里面可以写筛选器

 

JQuery节点关系

$('.box').children(); //获得所有子元素,屏蔽兼容性问题,不用考虑兼容性问题,可以传递一个参数,对子元素进行筛选

$('p').find();     //查找所有子元素及子元素得后代,先找到的第一个元素排0,以此类推,和children一样可以传递一个参数,进行筛选

$('p').parent();       //查找父元素,任何元素只有一个父元素

$('p').parents();      //查找所有祖先节点

siblings();       //查找所有兄弟元素     可以传递参数(选择器,筛选器)进行筛选

 

prev()、next()、prevAll()、nextAll()

//前一个、后一个兄弟、前所有兄弟、后所有兄弟

总结:JQuery屏蔽所有的不兼容,只选择nodeType=1的元素,不选择文本。注释等等并且不用for循环,一次性得到所有东西

 

JQuery节点操作

$('.box').append('<p>Text5<p>');//添加节点,无需createElement创建节点,相当于使用innerHTML直接添加

$("<p>Text6</p>").appendTo('.box');        //表示被动添加,即与append相反,将子节点添加到父节点

             

$('.box').prepend("<p>Text7</p>");    //将节点添加到第一位

$("<p>Text7</p>").prependTO('.box');      //表示被动,将节点添加到第

             

$('#p').after("<h3>这是H3</h3>");    //插入兄弟节点,插入之后

$('#p').before("<h4>这是H4</h4>"); //插入兄弟节点,插入之前

             

$('<p>Text11</p>').insertBefore($('p')[2]);        //被动,插入兄弟节点,插入之前

$('<p>Text22</p>').insertAfter($('p')[2]);    //被动,插入兄弟节点,插入之后

             

$('a').wrap("<b></b>");使用b标签包裹起来

$('a').wrapAll("<b></b>");    //全部使用b标签包裹起来

             

$('.box').empty();    //删除(清空)所有内容

             

$('p').remove();      //删除页面所有的p标签

             

$('.box').append($('p').eq(0).clone());   //克隆节点,并添加

 

JQuery的AJAX操作

//无参get请求

$btns.eq(0).click(function(){

       $.ajax({

              type:'get',       //定义提交的类型

              url:'AjaxBackend.php',  //提交的url地址

              dataType:"json",    //声明传输数据为json类型

              success:function(res){   //提交成功后,后代返回数据将会运行本函数

                     console.log(res);    //将后台返回的数据打印出来

                     alert(res);

              }

       });

});

 

//有参的get

$btns.eq(1).click(function(){

       $.ajax({

              type:'get',       //定义提交的类型

              url:'AjaxBackend.php?username='+$userNameInput.val()+'&password='+$passWordInput.val(),    //提交的url地址

              dataType:"json",    //声明传输数据为json类型

              //有参的请求说明:只需在url地址后面加“?”后面的多个参数可以使用” & “相加就可以提交

              success:function(res){   //提交成功后,后台返回数据将会运行本函数

                     console.log(res);    //将后台返回的数据打印出来

              }

       });

});

 

 

//提交post参数

$btns.eq(2).click(function(){

       $.ajax({

       type:'post',     //定义提交的方式为post

       url:'AjaxBackend.php',  //提交的url地址

       dataType:'json',     //声明传输数据为json类型

       data:{      //post请求独有的字段,目的是存放post数据的参数,格式为json

              uname:$userNameInput.val(),  //uname为自定义字段,只要前后台约定好,可以随便写

              upass:$passWordInput.val()

       },

       success:function(res){   //提交成功后,后台返回数据将会运行本函数

              console.log(res);

       }

       });

});

 

表单的系列化

$("form").serialize();生成一个字符串,各参数用&符号拼接

$("form").serializeArray();将参数生成一个数组对象

posted @ 2019-01-11 17:49  royal6  阅读(223)  评论(0编辑  收藏  举报