使用jQuery
在引入jQuery后,就可以使用jQuery提供的功能了。下面通过代码演示jQuery的简单使用,具体代码如下。
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title>使用jQuery</title>
6 <style>
7 div { width: 200px; height: 200px; background-color: pink; }
8 </style>
9 <script src="jquery-3.1.1.min.js"></script>
16 </body>
17 </html>
在上述代码中,第9行用于引入jQurey,第14行用于通过jQuery来实现隐藏div元素的效果。通过浏览器访问测试,可以看到div被隐藏起来了。如果将第14行代码注释,则div就会显示出来。
由此可见,在使用jQuery时,有两个基本步骤,第一步是获取要操作的元素,也就是在$()函数中传入字符串div,表示div元素;第二步是调用操作方法,如hide()方法用来将元素隐藏。这个步骤和原生JavaScript的DOM操作其实是很类似的,但代码简洁了许多。下面通过代码对比jQuery和JavaScript原生代码的区别。
// jQuery代码(为了方便对比,将代码分成两行书写)
var div = $("div"); // 获取元素
div.hide(); // 对元素进行操作
// JavaScript原生代码
var div = document.querySelector('div'); // 获取元素
div.style.display = 'none'; // 对元素进行操作
在使用jQuery时需要注意代码的书写位置, jQuery代码需要写在要操作的DOM元素的后面,确保DOM元素已经加载后,才可以用jQuery进行操作。如果将jQuery代码写在DOM元素前面,则代码不会生效,示例代码如下。
1 <body>
2 <script>
3 $("div").hide();
4 </script>
5 <div></div>
6 </body>
上述代码将要操作的div元素写在了第5行,通过浏览器访问,会发现div没有被隐藏起来,说明jQuery没有找到div元素。
如果一定要将jQuery代码写在DOM元素的前面,则可以利用如下语法来实现。
// 语法1(简写形式)
$(function() {
// 页面DOM加载后执行的代码
});
// 语法2(完整形式)
$(document).ready(function() {
// 页面DOM加载完成后执行的代码
});
上述代码是jQuery提供的加载事件,将页面DOM加载完成后要执行的代码提前写到函数中,传给jQuery,由jQuery在合适的时机去执行。上述两种语法任选其一,由于第1种语法比较简洁,在开发中推荐使用第1种。
下面通过代码演示jQuery加载事件的使用,具体代码如下。
1 <body>
2 <script>
3 $(function() {
4 $("div").hide();
5 });
6 </script>
7 <div></div>
8 </body>
通过浏览器访问,会发现div成功被隐藏起来了。
需要注意的是,虽然jQuery的加载事件和DOM中的window.onload类似,但也有不同之处,具体对比如表1所示。
表1 页面加载事件对比
对比项 | window.onload | $(document).ready() |
---|---|---|
执行时机 | 必须等待网页中的所有内容加载完成后(包括外部元素,如图片)才能执行 | 网页中的所有DOM绘制完成后就执行(可能关联内容并未加载完成) |
编写个数 | 不能编写多个 | 能够编写多个,依次执行 |
简化写法 | 无 | $() |
从表1可以看出,jQuery中的ready与JavaScript中的onload相比,不仅可以在页面加载后立即执行,还允许注册多个事件处理程序。