jQuery入门教程

8 篇文章 0 订阅
5 篇文章 0 订阅

一、jQuery是什么?

jQuery是一种方法库

语法:$ jQuery

二、jQuery文件引用

1、本地引用

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

2、远程调用:

语法:<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery1.4.min.js"></script>

注意:需要在连网的情况下使用

三、jQuery对象与dom对象转换

1、dom对象转换为jQuery对象 $(dom对象)

2、jquery对象转换为dom对象(jquery对象[索引号]、jquery对象.get[索引号])


  
  
  1. <body>
  2. <div id="box">hello div </div>
  3. <div id="box2">hello div </div>
  4. </body>
  5. <script>
  6. // 原生js 操作css
  7. var _div = document. getElementById( "box");
  8. // _div.style.color = "red";
  9. // _div.style.width = "200px";
  10. // dom对象转换为jquery
  11. // $(dom对象)
  12. // jQuery(_div).css("color", "#00f");
  13. // $(_div).css("color", "#00f");
  14. // $(_div).css({ width: "200px", height: "100px", color: "yellow" });
  15. // $("#box") === $(document.getElementById("box"));
  16. // jquery对象 转换为 dom对象
  17. // jquery对象[索引]
  18. // jquery对象.get(索引)
  19. // $("div")[1].style.backgroundColor = "red";
  20. // $("div").get(0).style.backgroundColor = "red";
  21. $( "#box"). get( 0). style. color = "#990";
  22. // jquery对象 转换为 dom对象
  23. // jquery对象[索引]
  24. // jquery对象.get(索引)
  25. // dom对象转换为jquery
  26. // $(dom对象)
  27. // jquery样式操作
  28. // 添加一条样式
  29. // jquery对象.css("样式属性名" , "属性值")
  30. // 添加多条样式
  31. // jquery对象.css({"样式属性名" : "属性值" , "样式属性名" : "属性值" , ...});
  32. // 获取样式
  33. // jquery对象.css("属性名")
  34. </script>

四、jQuery入口小函数

语法:$(document).ready(function(){})

简写:$(function()})

1、$(document).ready()与window.οnlοad=function(){}的区别

window.onload

$(document).ready()

执行时机

必须等待网页全部加载完毕(包括 图片等),然后再执行包裹代码

只需要等待网页中的DOM结构 加载完毕,就能执行包裹的代码

执行次数

只能执行一次,如果第二次,那么 第一次的执行会被覆盖

可以执行多次,第N次都不会被上 一次覆盖

 五、在页面中得到DOM对象

1、JavaScript中得到DOM对象document.getElementById(“menu”)

2、jQuery得到jquery对象 $(“#menu”)

六、jQuery选择器分类

1、基本选择器

选择器

描述

返回

示例

#id

根据指定的id匹配元素

单个元素

$(“#hel”)选择id=hel的元素

.class

根据类匹配元素

集合元素

$(“.hel”)选择class=hel的元素

Element

根据元素名匹配元素

集合元素

$(“div”)选择所有的div元素

*

匹配所有元素

集合元素

$(“*”)选择所有元素

E1,E2,E3

分组匹配元素

集合元素

$(“div,span,.hotclass”)选择所有div,span,和class为hotcalss的元素

2、层次选择器

选择器

描述

返回值

示例 

$(“E1  E2”)

选择E1下所有E2

集合元素

$(“div span”)选择div下所有span

$(“E1> E2”)

选择E1下的子E2,不包含E2下满足的元素

集合元素

$(“div > span”)选择div下的span元素,不包含span下的span元素

$(“E1+ E2”)

选择E1后紧相邻的E2

集合元素

$(“.one + div”)选择class=one的下一个div元素

$(“E1~ E2”)

选择E1之后的所有E2

集合元素

$(“#one ~ div”)选择id为one后的所有div元素

补充说明:

$(“E1 + E2”)可以用$(E1).next(E2)代替                   $(“E1 ~ E2”)可以用$(E1).nextAll(E2)代替


  
  
  1. <body>
  2. <div>hhhh< /div>
  3. <span>hello 0</span>
  4. <div class= "box">hello div< /div>
  5. <span>hello span1 <b>hhhh </b>< /span>
  6. <span>hello span2</span>
  7. <b>hh b< /b>
  8. </body>
  9. <script>
  10. $(document).ready(function () {
  11. // $( ".box+span").css( "color", "red");
  12. // $( ".box~span").css( "color", "gold");
  13. //兄弟间查找方法
  14. // $( ".box").next().css( "background-color", "blue");
  15. // $( ".box").next( "span").css( "background-color", "blue");
  16. // $( ".box").nextAll().css( "color", "green");
  17. // $( ".box").nextAll( "b").css( "color", "green");
  18. // $( ".box").prev().css( "color", "pink");
  19. // $( ".box").prev( "span").css( "color", "pink");
  20. // $( ".box").prevAll().css( "background-color", "green");
  21. $( ".box").prevAll( "span").css( "background-color", "green");
  22. });
  23. </script>

3、过滤选择器

(1)基本的过滤选择器

选择器

描述

返回

示例 

:first

选择第1个元素

单个元素

$(“div:first”)选择第1个div元素

:last

选择最后1个元素

单个元素

$(“div:last”)选择最后1个div元素

:not(E1)

去除所有E1选择器匹配的元素

集合元素

$(“input:not(.my)”)选择class不是.my的所有input元素

:even

选择索引是偶数的所有元素,索引从0开始

集合元素

$(“tr:even”)选择表格中所有偶数的行

:odd

选择索引是奇数的所有元素,索引从0开始

集合元素

$(“tr:odd”)选择表格中所有奇数的行

:eq(index)

选择索引值是index的元素,index从0开始

单个元素

$(“tr:eq(1)”)选择表格行索引等于1的行

:gt(index)

选择索引值大于index的元素,index从0开始

集合元素

$(“tr:gt(1) ”)选择表格行索引大于1的行

:lt(index)

选择索引值小于index的元素,index从0开始

集合元素

$(“tr:lt(1)”)选择表格行索引小于1的行

:header

所取所有的标题元素,h1~h6

集合元素

$(“:header”)选择网页中所有的<h1>,<h2>…<h6>

:animated

选择当前正在执行动画的所有元素

集合元素

$(“div:animated”)选择正在执行动画的div元素


  
  
  1. <body>
  2. <ul>
  3. <li>无序列表 1< /li>
  4. <li>无序列表2</li>
  5. <li>无序列表 3< /li>
  6. </ul>
  7. <ol>
  8. <li>有序列表< /li>
  9. <li>有序列表</li>
  10. <li>有序列表< /li>
  11. <li>有序列表</li>
  12. < /ol>
  13. </body>
  14. <script>
  15. $(document).ready(function () {
  16. // $( "ul li:first").css( "color", "red"); //文档里的第一个li元素 唯一
  17. // $( "ul li").first().css( "color", "blue");
  18. // $( "ul li:last").css( "color", "red");
  19. // $( "ul li").last().css( "font-size", "30px");
  20. // $( "li:odd").css( "background-color", "red"); //文档里【索引为奇数】li
  21. // $( "li:eq(0)").css( "color", "red");
  22. // $( "li").e q(0).css( "color", "red");
  23. // $( "li:lt(3)").css( "color", "green"); //索引小于 3的li
  24. $( "li:gt(3)").css( "color", "green"); //索引大于 3的li
  25. // $( "ul li:first-child").css( "color", "red"); //每一组里的第一个li子元素 可能是多个
  26. // $( "ul li:last-child").css( "color", "red");
  27. // $( "ul li:nth-child(odd)").css( "background-color", "red"); //每一组里【第奇数】个li
  28. });
  29. // get() 与 e q() 区别
  30. // 都是jquery对象调用 jquery对象.get(索引) jquery对象.e q(索引)
  31. // 不同点:
  32. // jquery对象.get(索引) dom对象
  33. // jquery对象.e q(索引) jquery对象
  34. </script>

(2)内容过滤选择器

选择器

描述

返回值

示例 

:contains(text)

选择含有text文本内容的元素

集合元素

$(“div:contains(‘我’)”)选择内容里包含我的所有div

:empty

选择不包含子元素或文本的空元素

集合元素

$(“div:empty”)选择不包含子元素(含文本)的所有div元素

:has(E1)

选择包含有(E1选择器匹配的元素)的所有元素

集合元素

$(“div:has(p)”)选择含有p元素的所有div元素

:parent

选择含有子元素或文本的元素

集合元素

$(“div:parent”)选择拥有子元素(包含文本)的所有div元素

(3)子元素过滤选择器

选择器

功能描述

返回值

简单示例

:nth-child(index/even/odd)

选取每个父元素下的第index个子元素或奇偶元素.(index从1开始)

集合元素

:eq(index)只匹配一个元素,而:nth-child(index)将为每一个父元素匹配子元素,并且:nth-child(index)的index从1开始,而:eq(index)的index从0开始.

:first-child

选择每个父元素的第1个子元素

集合元素

:first只选择单个元素,而:first-child将为每个父元素匹配第1个子元素如:

$(“ul li:first-child”)选择每个ul下的第一个<li>

:last-child

选取每个父元素的最后1个子元素

集合元素

$(“ul li:last-child”)选择每个ul下的最后一个<li>

:only-child

如果某个元素是它父元素中惟一的子元素,那么将会被匹配.如果父元素中含有其他元素,则不会被匹配

集合元素

$(“ul li:only-child”)在<ul>中选取是惟一子元素的<li>

:nth-child()选择器详细功能描述:

  • :nth-child(even)能选择每个父元素下的索引值是偶数的元素
  • :nth-child(odd)选择出每个父元素下的索引值是奇数的元素
  • :nth-child(2)选取每个父元素下的索引值等于2的元素
  • :nth-child(3n)能选出每个父元素下的索引值是3的倍数的元素,n从0开始
  • :nth-child(3n+1)能选取每个父元素下的索引值是3n+1的元素.n从0开始

 4、表单选择器

选择器

描述

返回值

示例

:input

匹配所有<input> <textarea> <select> <button>元素

集合元素

$(“:input”) 同描述

:text

选择所有单行文本框

集合元素

$(“:text”)匹配所有单行文本框

:password

选择所有密码框

集合元素

$(“:password”)

:radio

选择所有单选框

集合元素

$(“:radio”)

:checkbox

选择所有复选框

集合元素

$(“:checkbox”)

:submit

匹配所有提交按钮

集合元素

$(“:submit”)

:image

匹配所有图像按钮

集合元素

$(“:image”)

:reset

匹配所有重置按钮

集合元素

$(“:reset”)

:button

匹配所有按钮

集合元素

$(“:button”)

:file

匹配所有文件域

集合元素

$(“:file”)

:hidden

匹配所有不可见元素

集合元素

$(“:hidden”)

 选择器中的一些注意事项:

1、特殊符号的处理

“.”、”#”、”(“、”]”

示例:

<div id=“id#b”>www.baidu.com</div>   

 <div id=“id[1]”>hello</div>

正确的写法:使用转义符\\将特殊符号转义     $(“#id\\#b”)     $(“#id\\[1\\]”)

2、选择器中包含空格

选择器中的空格是不容忽视的,多一个空格或少一个空格会得到截然不同的结果.  

   如:         $(“div:input”)     和         $(“div :input”)

七、jQuery中的方法初探

方法

功能描述

show()

显示隐藏的匹配元素,可带整数参数表示时间,单位是毫秒

hide()

隐藏显示的匹配元素,可带整数参数表示时间,单位是毫秒

css(name,value)

给匹配的元素设置css样式

text(string)

获取或设置匹配元素的文本内容,不包含html标签

filter(expr)

筛选出与指定表达式匹配的元素集合,其中expr可以是多个选择器的组合。

addClass(class)

为匹配的元素增加一个 类样式

removeClass(class)

为匹配的元素移除一个类样式

html()

获取或设置匹配元素的内容,包含html标签

siblings()

$(“.abc”).siblings()匹配得到class=abc的其它兄弟元素

 1、操作样式

(1)设置

设置单条样式 .css(“属性名”,”属性值”)

设置多条样式 .css({“属性名1”:”属性值1”,”属性名2”:”属性值2”,……})

(2)获取样式

获取样式值 .css(“属性名”)

增加类      可增加/删除多个类

.addClass(“类名1 类名2 ……”)   多个类名之间用空格隔开

.removeClass(“”)

.toggleClass(“”)    

.toggleClass(“类名”,true/false)    用来判断样式类添加还是移除的 布尔值


  
  
  1. <script>
  2. $(function () {
  3. $( ".box").addClass( "bg"); //添加类
  4. $( "button").bind( "click", function () {
  5. // $( ".box").removeClass( "bg box"); //删除类
  6. // $( ".box").removeClass(); //清空
  7. // $( ".box").toggleClass( "fz box");
  8. // $( ".box").toggleClass(); //removeClass()
  9. // $( ".box").toggleClass( "bg", false); //removeClass()
  10. $( ".box").toggleClass( "fz", true); //addClass()
  11. });
  12. // $( "button").mouseover(function (ev) {}).mouseout(function(){});
  13. // $( "button").bind( "mouseover mouseout", function (ev) {
  14. // // console.log(ev); //event事件对象
  15. // if (ev.type === "mouseover") {
  16. // $(this).css( "background-color", "red");
  17. // } else if (ev.type === "mouseout") {
  18. // $(this).css( "background-color", "");
  19. // }
  20. // });
  21. // $( "button").bind({
  22. // mouseover: function () {
  23. // $(this).css( "background-color", "red");
  24. // },
  25. // mouseout: function () {
  26. // $(this).css( "background-color", "");
  27. // },
  28. // });
  29. });
  30. // jquery对象.bind( "事件名1 事件名2 ...", function () {});
  31. // jquery对象.bind({ 事件名 1: function () {}, 事件名 1: function () {} });
  32. </script>

2、 操作元素中的内容:

(1)设置:

  • .html(“str”)   设置元素的里面的内容 可用带html标签         js中的innerHTML
  • .text(“str”)    设置元素的里面的内容 可用不带html标签         js中的innerText
  • .val(“str”)     设置表单的值                                          

3、.html(),.text()和.val()的差异总结: 

(1)  .html(),.text(),.val()三种方法都是用来读取选定元素的内容;

  • 只不过.html()是用来读取元素的html内容(包括html标签),
  • .text()用来读取元素的纯文本内容,包括其后代元素,
  • .val()是用来读取表单元素的"value"值。其中.html()和.text()方法不能使用在表单元素上,而.val()只能使用在表单元素上

(2).html()方法使用在多个元素上时,只读取第一个元素;

  • .val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,
  • 但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。

(3) .html(htmlString),.text(textString)和.val(value)三种方法都是用来替换选中元素的内容,如果三个方法同时运用在多个元素上时,那么将会替换所有选中元素的内容。

(4 ).html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。

例如:$('li').html(function(n){return "被点击的元素的索引值是"+n}); 将会把所有li元素内的内容替换为返回值,并会把n值变成每个li对应的索引值

 八、动画

show(speed,[callback])  //显示

hide( speed,[callback] )  //隐藏

toggle(speed,[callback]) 


  
  
  1. <script>
  2. $( document). ready( function ( ) {
  3. // $(".box h2").click(function () {
  4. // var $dis = $(this).next(".list").css("display");
  5. // if ($dis === "none") {
  6. // $(this).next(".list").css("display", "block");
  7. // $(this).children(".sj").css("transform", "rotate(90deg)");
  8. // } else {
  9. // $(this).next(".list").css("display", "none");
  10. // $(this).children(".sj").css("transform", "rotate(0deg)");
  11. // }
  12. // });
  13. $( ".box h2"). click( function ( ) {
  14. var list = $( this). next( ".list"); //当前点击的h2后的那一个ul
  15. list. toggle( 200);
  16. // list.show(5000, function () {
  17. // // console.log(this);
  18. // $(this).hide(2000); //指向的是有动画的jquery对象
  19. // }); //回调函数
  20. // $(this).next(".list").hide(5000);
  21. });
  22. });
  23. // 显示与隐藏
  24. // jquery对象.show(参数1,参数2)
  25. // 参数1:可选 动画持续时间
  26. // 参数2:可选 回调函数 动画执行完后调用的函数
  27. // jquery对象.hide(参数1,参数2)
  28. // 参数1:可选 动画持续时间
  29. // 参数2:可选 回调函数 动画执行完后调用的函数
  30. // jquery对象.toggle(参数1,参数2)
  31. // 参数1:可选 动画持续时间
  32. // 参数2:可选 回调函数 动画执行完后调用的函数
  33. </script>

参数:

 speed: 设置显示/隐藏时的速度值,可为fast,slow或毫秒值

callback:显示或隐藏动作完成后调用的函数

toggle()方法:该效果适用于通过 jQuery 隐藏的元素,或在 CSS 中声明 display:none 的元素(但不适用于 visibility:hidden 的元素)

slideUp(speed,[callback] )//往上滑动

 slideDown(speed,[callback] )   //往下滑动

slideToggle() fadeIn(speed,[callback] )

 fadeOut(speed,[callback] )   // 从看得见到看不见 淡出 1-0  

 fadeIn(speed,[callback])       // 从看不见到看得见 淡入 0-1  

fadeTo(speed,opacity,[callback])  //设置淡入淡出效果到一定的不透明度 fadeToggle()


  
  
  1. <script>
  2. $( function ( ) {
  3. // $(".box h2").click(function(){})
  4. $( ".box h2"). bind( "click", function ( ) {
  5. //淡入淡出
  6. // 从看不见到看得见 淡入 0-1 fadeIn()
  7. // 从看得见到看不见 淡出 1-0 fadeOut()
  8. // $(".list").fadeIn(5000).fadeOut(2000);
  9. // $(".list").fadeToggle(2000);
  10. $( ".list"). fadeTo( 2000, 0.5, function ( ) {});
  11. // 往上滑动 / 往下滑动
  12. // $(".list").slideDown(5000, function () {
  13. // $(this).slideUp(2000);
  14. // });
  15. // $(".list").slideToggle("normal");//400
  16. // $(".list").slideToggle("slow");//600
  17. // $(".list").slideToggle("fast"); //200
  18. // $(".list").slideToggle(400);
  19. // $(".list").slideDown(5000).slideUp(5000);
  20. // $(".list").slideUp(5000);
  21. });
  22. // $(".box h2").on("click", function () {
  23. // console.log(111);
  24. // });
  25. // dom.addEventListener("click",function(){})
  26. });
  27. </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值