Web开发——JavaScript库(jQuery 语法 / 选择器 / 事件)
Posted zyjhandsome
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web开发——JavaScript库(jQuery 语法 / 选择器 / 事件)相关的知识,希望对你有一定的参考价值。
通过 jQuery,您可以选取(查询,query) html 元素,并对它们执行“操作”(actions)。
1、jQuery 语法
1.1 jQuery语法举例
1.1.1 $(this).hide()
演示 jQuery hide() 函数,隐藏当前的 HTML 元素。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 6 <meta http-equiv="Content-Language" content="zh-cn" /> 7 <title>My test page</title> 8 9 <!--引用jQuery库,src可以直接指向本地下载的jQery库--> 10 <!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">--> 11 <script src="jquery-3.3.1.js"></script> 12 <script type="text/javascript"> 13 $(document).ready(function() { 14 $("button").click(function() { 15 $(this).hide(); 16 }); 17 }); 18 </script> 19 </head> 20 21 <body> 22 23 <button type="button">Click me</button> 24 25 </body> 26 </html>
输出结果:出现“Click me”按钮,点击即消失。
1.1.2 $("#id_test").hide()
演示 jQuery hide() 函数,隐藏 id="id_test" 的元素。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 6 <meta http-equiv="Content-Language" content="zh-cn" /> 7 <title>My test page</title> 8 9 <!--引用jQuery库,src可以直接指向本地下载的jQery库--> 10 <!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">--> 11 <script src="jquery-3.3.1.js"></script> 12 <script type="text/javascript"> 13 $(document).ready(function() { 14 $("button").click(function() { 15 $("#p1_test").hide(); 16 }); 17 }); 18 </script> 19 </head> 20 21 <body> 22 23 <h2>This is a heading</h2> 24 <p>This is a paragraph.</p> 25 <p id="p1_test">This is another paragraph.</p> 26 <button type="button">Click me</button> 27 28 </body> 29 </html>
输出结果:点击按钮,“This is another paragraph.”会消失。
This is a heading
This is a paragraph.
This is another paragraph.
1.1.3 $("p").hide()
演示 jQuery hide() 函数,隐藏所有 <p> 元素。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 6 <meta http-equiv="Content-Language" content="zh-cn" /> 7 <title>My test page</title> 8 9 <!--引用jQuery库,src可以直接指向本地下载的jQery库--> 10 <!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">--> 11 <script src="jquery-3.3.1.js"></script> 12 <script type="text/javascript"> 13 $(document).ready(function() { 14 $("button").click(function() { 15 $("p").hide(); 16 }); 17 }); 18 </script> 19 </head> 20 21 <body> 22 23 <h2>This is a heading</h2> 24 <p>This is a paragraph.</p> 25 <p>This is another paragraph.</p> 26 <button type="button">Click me</button> 27 28 </body> 29 </html>
输出结果:点击按钮后,“This is a paragraph.”和“This is another paragraph.”都会消失。
This is a heading
This is a paragraph.
This is another paragraph.
1.1.4 $(".class_test").hide()
演示 jQuery hide() 函数,隐藏所有 class="class_test" 的元素。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 6 <meta http-equiv="Content-Language" content="zh-cn" /> 7 <title>My test page</title> 8 9 <!--引用jQuery库,src可以直接指向本地下载的jQery库--> 10 <!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">--> 11 <script src="jquery-3.3.1.js"></script> 12 <script type="text/javascript"> 13 $(document).ready(function() { 14 $("button").click(function() { 15 $(".p1_class").hide(); 16 }); 17 }); 18 </script> 19 </head> 20 21 <body> 22 23 <h2>This is a heading</h2> 24 <p class="p1_class">This is a paragraph.</p> 25 <p>This is another paragraph.</p> 26 <button type="button">Click me</button> 27 28 </body> 29 </html>
输出结果:点击按钮后,“This is a paragraph.”会消失。
This is a heading
This is a paragraph.
This is another paragraph.
1.2 jQuery 语法
jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。
基础语法是:$(selector).action()
- 美元符号定义 jQuery
- 选择符(selector)“查询”和“查找” HTML 元素
- jQuery 的 action() 执行对元素的操作
1.3 文档就绪函数
您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:
1 $(document).ready(function() { 2 <!--jQuery functions go here--> 3 });
这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。
如果在文档没有完全加载之前就运行函数,操作可能失败。下面是两个具体的例子:
- 试图隐藏一个不存在的元素
- 获得未完全加载的图像的大小
2、jQuery选择器
在前面的章节中,我们展示了一些有关如何选取 HTML 元素的实例。
关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素。
jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。
选择器允许您对 HTML 元素组或单个元素进行操作。
在 HTML DOM 术语中:
选择器允许您对 DOM 元素组或单个 DOM 节点进行操作。
2.1 jQuery元素选择器
jQuery 使用 CSS 选择器来选取 HTML 元素。
- $("p") 选取 <p> 元素。
- $("p.intro") 选取所有 class="intro" 的 <p> 元素。
- $(".intro") 选取所有 class="intro" 的所有元素。
- $("p#demo") 选取所有 id="demo" 的 <p> 元素。
- $("#demo") 选取所有 id="demo" 的所有元素
2.2 jQuery属性选择器
jQuery 使用 XPath 表达式来选择带有给定属性的元素。
- $("[href]") 选取所有带有 href 属性的元素。
- $("[href=‘#‘]") 选取所有带有 href 值等于 "#" 的元素。
- $("[href!=‘#‘]") 选取所有带有 href 值不等于 "#" 的元素。
- $("[href$=‘.jpg‘]") 选取所有 href 值以 ".jpg" 结尾的元素。
2.3 jQuery CSS选择器
jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。
下面的例子把所有 p 元素的背景颜色更改为红色:
1 $("p").css("background-color","red");
2.4 更多的选择器实例
语法 | 描述 |
---|---|
$(this) | 当前 HTML 元素 |
$("p") | 所有 <p> 元素 |
$("p.intro") | 所有 class="intro" 的 <p> 元素 |
$(".intro") | 所有 class="intro" 的元素 |
$("#intro") | id="intro" 的元素 |
$("ul li:first") | 每个 <ul> 的第一个 <li> 元素 |
$("[href$=‘.jpg‘]") | 所有带有以 ".jpg" 结尾的属性值的 href 属性 |
$("div#intro .head") | id="intro" 的 <div> 元素中的所有 class="head" 的元素 |
如需完整的参考手册,请访问我们的 jQuery 选择器参考手册。
3、jQuery事件
jQuery 事件处理方法是 jQuery 中的核心函数。
事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。
通常会把 jQuery 代码放到 <head>部分的事件处理方法中:
举例:jQuery语法举例
由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:
- 把所有 jQuery 代码置于事件处理函数中
- 把所有事件处理函数置于文档就绪事件处理器中
- 把 jQuery 代码置于单独的 .js 文件中
- 如果存在名称冲突,则重命名 jQuery 库
3.1 jQuery 名称冲突(如与Prototype都使用到$符号)
jQuery 使用 $ 符号作为 jQuery 的简介方式。
某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。
jQuery 使用名为 noConflict() 的方法来解决该问题。
var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 6 <meta http-equiv="Content-Language" content="zh-cn" /> 7 <title>My test page</title> 8 9 <!--引用jQuery库,src可以直接指向本地下载的jQery库--> 10 <!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">--> 11 <script src="jquery-3.3.1.js"></script> 12 <script type="text/javascript"> 13 14 <!--方式 1--> 15 <!-- $(document).ready(function() { --> 16 <!-- $("button").click(function() { --> 17 <!-- $("#p1").hide(); --> 18 <!-- }); --> 19 <!-- }); --> 20 21 <!--方式 2--> 22 <!-- $.noConflict(); --> 23 <!-- jQuery(document).ready(function() { --> 24 <!-- jQuery("button").click(function() { --> 25 <!-- jQuery("#p1").hide(); --> 26 <!-- }); --> 27 <!-- }); --> 28 29 <!--方式 3--> 30 var jq = jQuery.noConflict(); 31 jq(document).ready(function() { 32 jq("button").click(function() { 33 jq("#p1").hide(); 34 }); 35 }); 36 37 </script> 38 </head> 39 40 <body> 41 42 <p id="p1">This is a paragraph</p> 43 <button>Click me</button> 44 45 </body> 46 </html>
3.2 jQuery事件
下面是 jQuery 中事件方法的一些例子:
Event 函数 | 绑定函数至 |
---|---|
$(document).ready(function) | 将函数绑定到文档的就绪事件(当文档完成加载时) |
$(selector).click(function) | 触发或将函数绑定到被选元素的点击事件 |
$(selector).dblclick(function) | 触发或将函数绑定到被选元素的双击事件 |
$(selector).focus(function) | 触发或将函数绑定到被选元素的获得焦点事件 |
$(selector).mouseover(function) | 触发或将函数绑定到被选元素的鼠标悬停事件 |
如需完整的参考手册,请访问 jQuery 事件参考手册。
以上是关于Web开发——JavaScript库(jQuery 语法 / 选择器 / 事件)的主要内容,如果未能解决你的问题,请参考以下文章
Web开发——JavaScript库(jQuery遍历——后代)
Web开发——JavaScript库(jQuery遍历——同胞)
Web开发——JavaScript库(jQuery效果——动画/停止动画)