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 元素。

  1. $("p") 选取 <p> 元素。
  2. $("p.intro") 选取所有 class="intro" 的 <p> 元素。
  3. $(".intro") 选取所有 class="intro" 的所有元素。
  4. $("p#demo") 选取所有 id="demo" 的 <p> 元素。
  5. $("#demo") 选取所有 id="demo" 的所有元素

2.2 jQuery属性选择器 

  jQuery 使用 XPath 表达式来选择带有给定属性的元素。

  1. $("[href]") 选取所有带有 href 属性的元素。
  2. $("[href=‘#‘]") 选取所有带有 href 值等于 "#" 的元素。
  3. $("[href!=‘#‘]") 选取所有带有 href 值不等于 "#" 的元素。
  4. $("[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遍历——同胞)

Web开发——JavaScript库(jQuery效果——动画/停止动画)

Web开发——JavaScript库(jQuery HTML——添加/删除 续,需要整合在一起)

Rails Web 框架丢弃 jQuery