jQuery 第三章(语法+选择器+事件)

简介: jQuery 第三章(语法+选择器+事件)

前言

hello world欢迎来到前端的新世界


😜当前文章系列专栏:jQuery

🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹

💖感谢大家支持!您的观看就是作者创作的动力

jQuery 语法

jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。

基础语法: $(selector).action()

  • 美元符号定义 jQuery
  • 选择符(selector)“查询"和"查找” HTML 元素
  • jQuery 的 action() 执行对元素的操作
    实例:

$(this).hide() - 隐藏当前元素

$(“p”).hide() - 隐藏所有段落

$(“p .test”).hide() - 隐藏所有 class=“test” 的段落

$(“#test”).hide() - 隐藏所有 id=“test” 的元素

你对 CSS 选择器熟悉吗?

jQuery 使用的语法是 XPath 与 CSS 选择器语法的组合。在本教程接下来的章节,您将学习到更多有关选择器的语法。

文档就绪事件

您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:

$(document).ready(function(){
   // 开始写 jQuery 代码...
 });

这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。

如果在文档没有完全加载之前就运行函数,操作可能失败。下面是两个具体的例子:

  • 试图隐藏一个不存在的元素
  • 获得未完全加载的图像的大小
    提示:简洁写法(与以上写法效果相同):
$(function(){
   // 开始写 jQuery 代码...
 });

以上两种方式你可以选择你喜欢的方式实现文档就绪后执行jQuery方法。

选择器

jQuery 选择器允许您对 HTML 元素组或单个元素进行操作。

jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。

jQuery 中所有选择器都以美元符号开头:$()。

元素选择器

jQuery 元素选择器基于元素名选取元素。

在页面中选取所有

元素:

$("p")

实例

用户点击按钮后,所有

元素都隐藏:

$(document).ready(function(){
 $("button").click(function(){
   $("p").hide();
 });
});

#id 选择器

jQuery #id 选择器通过 HTML 元素的 id 属性选取指定的元素。

页面中元素的 id 应该是唯一的,所以您要在页面中选取唯一的元素需要通过 #id 选择器。

通过 id 选取元素语法如下:

$("#test")

实例

当用户点击按钮后,有 id=“test” 属性的元素将被隐藏:

$(document).ready(function(){
 $("button").click(function(){
   $("#test").hide();
 });
});

.class 选择器

jQuery 类选择器可以通过指定的 class 查找元素。

语法如下:

$(".test")

实例

用户点击按钮后所有带有 class=“test” 属性的元素都隐藏:

$(document).ready(function(){
 $("button").click(function(){
    $(".test").hide();
 });
});

CSS 选择器

jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。

实例

下面的例子把所有 p 元素的背景颜色更改为红色:

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

更多实例

语法 描述
${“*”} 选取所有元素
${“p.intro”} 选取 class 为 intro 的

元素

$(“p:first”) 选取第一个

元素

$(“ul li:first”) 选取第一个
  • 元素的第一个
  • 元素
$(“ul li:first-child”) 选取每个
  • 元素的第一个
  • 元素
$(“[href]”) 选取带有 href 属性的元素
$(“a[target=‘_blank’]”) 选取所有 target 属性值等于 “_blank” 的 元素
$(“a[target!=‘_blank’]”) 选取所有 target 属性值不等于 “_blank” 的 元素
$(“:button”) 选取所有 type=“button” 的 元素 和 元素
$(“tr:even”) 选取偶数位置的
$(“tr:odd”) 选取奇数位置的

显示详细信息

元素 元素

独立文件中使用 jQuery 函数

如果您的网站包含许多页面,并且您希望您的 jQuery 函数易于维护,那么请把您的 jQuery 函数放到独立的 .js 文件中。

当我们在教程中演示 jQuery 时,会将函数直接添加到 部分中。不过,把它们放到一个单独的文件中会更好,就像这样(通过 src 属性来引用文件):

<head>
<scriptsrc="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script src="my_jquery_functions.js"></script>
</head>

jQuery 事件

页面对不同访问者的响应叫做事件。

事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。

实例:

  • 在元素上移动鼠标。
  • 选取单选按钮
  • 点击元素
    在事件中经常使用术语"触发"(或"激发")例如: “当您按下按键时触发 keypress 事件”。
    | | |
    |–|–|
    | | |
鼠标事件 键盘事件 表单事件 文档/窗口事件
click keypress submit load
dblclick keydown change resize
mouseenter keyup focus scroll
mouseleave blur unload
hover

jQuery 事件方法语法

在 jQuery 中,大多数 DOM 事件都有一个等效的 jQuery 方法。

页面中指定一个点击事件:

$("p").click();

下一步是定义什么时间触发事件。您可以通过一个事件函数实现:

$("p").click(function(){      
  // action goes here!!        
});

常用的 jQuery 事件方法

$(document).ready()

$(document).ready() 方法允许我们在文档完全加载完后执行函数。该事件方法在 jQuery 语法 章节中已经提到过。

click()

click() 方法是当按钮点击事件被触发时会调用一个函数。

该函数在用户点击 HTML 元素时执行。

在下面的实例中,当点击事件在某个

元素上触发时,隐藏当前的

元素:

$("p").click(function(){
  $(this).hide();
});

dblclick()

当双击元素时,会发生 dblclick 事件。

dblclick() 方法触发 dblclick 事件,或规定当发生 dblclick 事件时运行的函数:

$("p").dblclick(function(){
  $(this).hide();
});

mouseenter()

当鼠标指针穿过元素时,会发生 mouseenter 事件。

mouseenter() 方法触发 mouseenter 事件,或规定当发生 mouseenter 事件时运行的函数:

$("#p1").mouseenter(function(){
  alert("You entered p1!");
});

mouseleave()

当鼠标指针离开元素时,会发生 mouseleave 事件。

mouseleave() 方法触发 mouseleave 事件,或规定当发生 mouseleave 事件时运行的函数:

$("#p1").mouseleave(function(){
  alert("Bye! You now leave p1!");
});

mousedown()

当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件。

mousedown() 方法触发 mousedown 事件,或规定当发生 mousedown 事件时运行的函数:

$("#p1").mousedown(function(){
  alert("Mouse down over p1!");
});

mouseup()

当在元素上松开鼠标按钮时,会发生 mouseup 事件。

mouseup() 方法触发 mouseup 事件,或规定当发生 mouseup 事件时运行的函数:

$("#p1").mouseup(function(){
  alert("Mouse up over p1!");
});

hover()

hover()方法用于模拟光标悬停事件。

当鼠标移动到元素上时,会触发指定的第一个函数(mouseenter);当鼠标移出这个元素时,会触发指定的第二个函数(mouseleave)。

$("#p1").hover(function(){
  alert("You entered p1!");
  },
  function(){
  alert("Bye! You now leave p1!");
});

focus()

当元素获得焦点时,发生 focus 事件。

当通过鼠标点击选中元素或通过 tab 键定位到元素时,该元素就会获得焦点。

focus() 方法触发 focus 事件,或规定当发生 focus 事件时运行的函数:

$("input").focus(function(){
  $(this).css("background-color","#cccccc");
});

blur()

当元素失去焦点时,发生 blur 事件。

blur() 方法触发 blur 事件,或规定当发生 blur 事件时运行的函数:

$("input").blur(function(){
  $(this).css("background-color","#ffffff");
});

比较keypress、keydown与keyup

  • keydown:在键盘上按下某键时发生,一直按着则会不断触发(opera浏览器除外),它返回的是键盘代码;
  • keypress:在键盘上按下一个按键,并产生一个字符时发生, 返回ASCII码。注意: shift、alt、ctrl - 等键按下并不会产生字符,所以监听无效,换句话说,只有按下能在屏幕上输出字符的按键时keypress事件才会触发。若一直按着某按键则会不断触发。
  • keyup:用户松开某一个按键时触发,与keydown相对,返回键盘代码.

后言

创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力


目录
相关文章
|
2月前
|
JavaScript 前端开发
jQuery 选择器
jQuery 选择器
30 2
|
3月前
|
JavaScript 索引
jQuery 选择器
jQuery 选择器
40 5
|
2月前
|
JavaScript 前端开发
jQuery 选择器
jQuery 选择器用于操作 HTML 元素,支持基于 id、类、类型、属性等条件选择元素。它扩展了 CSS 选择器的功能,并使用 $() 符号。例如,$(&quot;p&quot;) 选取所有段落元素,而 $(&quot;button&quot;).click(function(){ $(&quot;p&quot;).hide(); }) 实现点击按钮后隐藏所有段落。
|
2月前
|
JavaScript 前端开发 开发者
jQuery 语法
jQuery 是一种高效的 JavaScript 库,用于简化 HTML 文档中元素的选取与操作。其核心语法为 $(selector).action(),允许开发者轻松地对页面元素进行控制。例如,$(this).hide() 可以隐藏当前元素,而 $(&quot;p&quot;).hide() 则会隐藏所有段落。为了确保代码在文档完全加载后执行,通常将 jQuery 代码包裹在 $(document).ready(function(){...}) 或其简写形式 $(function(){...}) 中。这样可以避免因元素未加载而导致的操作失败问题。
|
2月前
|
JavaScript 前端开发 API
深入理解jQuery:高效DOM操作与事件处理
【10月更文挑战第11天】深入理解jQuery:高效DOM操作与事件处理
18 0
|
3月前
|
JavaScript 前端开发 CDN
jQuery学习记录--jQuery语法,选择器,事件及hide(),show(), toggle()
本文是关于jQuery的学习笔记,涵盖了jQuery的简介、语法、选择器、事件处理以及hide()、show()、toggle()等方法的使用。
jQuery学习记录--jQuery语法,选择器,事件及hide(),show(), toggle()
|
3月前
|
JavaScript
jQuery 事件 方法
jQuery 事件 方法
16 0
|
JavaScript 前端开发
jquery选择器【总结】
  本文总结整理了jquery里和选择器相关的所有方法,通过这篇文章,可以让你学习到在jquery里使用选择器的所有方法。 一:基本选择器: $("#aijquery") 选择id值等于aijquery的元素 $("p") 选择所有的P标签元素 $(".
1026 0
|
Web App开发 JavaScript
|
JavaScript 数据可视化 前端开发