初识 jQuery
简介
jQuery库包含以下功能:
- HTML 元素选取
- HTML 元素操作
- CSS 操作
- HTML 事件函数
- JavaScript 特效和动画
- HTML DOM 遍历和修改
- AJAX
- Utilities
如何添加 jQuery
可以使用两种方式添加 jQuery
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.2.min.js"></script>
<script src="https://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.min.js"></script>
使用 Staticfile CDN、百度、又拍云、新浪、谷歌或微软的 jQuery,有一个很大的优势:
许多用户在访问其他站点时,已经从百度、又拍云、新浪、谷歌或微软加载过 jQuery。所以结果是,当他们访问您的站点时,会从缓存中加载 jQuery,这样可以减少加载时间。同时,大多数 CDN 都可以确保当用户向其请求文件时,会从离用户最近的服务器上返回响应,这样也可以提高加载速度。
参考 from : 菜鸟教程
- 查看jQuery使用版本, 可以在浏览器中使用 console 控制台使用
$.fn.jquery 命令查看版本
jQuery 语法
jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。
基础语法是:$(selector).action()
- 美元符号定义 jQuery
- 选择符 (selector) “查询” 和 “查找” HTML 元素
- jQuery 的 action() 执行对元素的操作
示例 :
$(this).hide()
$("p").hide()
$(".test").hide()
$("#test").hide()
举个栗子 ;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jquery基础</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
$("p").click(function() {
$(this).hide();
});
});
</script>
<p>这里是第1段,点击内容即消失</p>
<p>这里是第2段,点击内容即消失</p>
<p>这里是第3段,点击内容即消失</p>
<p>这里是第4段,点击内容即消失</p>
</body>
</html>
文档就绪函数
- 建议所有 jQuery 函数写在一个 document ready 函数中
$(document).ready( function(){
...........
});
- 这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。如果在文档没有完全加载之前就运行函数,操作可能失败。
jQuery 选择器
元素选择器
- jQuery 使用 CSS 选择器来选取 HTML 元素。
$("p") 选取<p> 元素。$("p.testclass") 选取所有 class=“testclass” 的 <p> 元素。$("p#testid") 选取所有 id=“testid” 的 <p> 元素。
举个栗子 :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery选择器</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<style type="text/css">
</style>
</head>
<body>
<h1>jQuery选择器</h1>
<p>元素1</p>
<p class="testclass">元素2</p>
<p id="testid">元素3</p>
<script>
$(document).ready(function() {
$("p").css("background-color", "yellow");
$("p").css("color", "red");
$("p.testclass").css("color", "black");
$("p#testid").css("color", "blue");
});
</script>
</body>
</html>
效果 :
属性选择器
- jQuery 使用 XPath 表达式来选择带有给定属性的元素。
$("[href]") 选取所有带有 href 属性的元素。$("[href='#']") 选取所有带有 href 值等于 “#” 的元素。$("[href!='#']") 选取所有带有 href 值不等于 “#” 的元素。$("[href$?='.jpg']") 选取所有 href 值以 “.jpg” 结尾的元素
举个栗子 :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery选择器</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<style type="text/css">
</style>
</head>
<body>
<a href="#">无链接</a>
<br>
<a href="https://baidu.com">百度百科链接</a>
<br>
<a href="1234">哈哈</a>
<br>
<a href="">无名</a>
<script>
$(document).ready(function() {
$("[href]").css('color', 'orange');
$("[href='#']").css('background', 'blue');
$("[href!='#']").css('color', 'black');
$("[href$='4']").css('background', 'red');
});
</script>
</body>
</html>
效果 :
CSS 选择器
- jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。
- 把所有 p 元素的背景颜色更改为蓝色:
$("p").css("background-color","blue");
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery选择器</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<style type="text/css">
</style>
</head>
<body>
<p>CSS样式</p>
<h1>大标题</h1>
<script>
$(document).ready(function() {
$('p').css('background', 'blue');
$('p').css('color', 'red');
$('h1').css('color', 'blue');
});
</script>
</body>
</html>
效果 :
更多选择器示例
语法 | 描述 |
---|
$(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 事件
jQuery 事件函数
-
jQuery 事件处理方法是 jQuery 中的核心函数。 -
事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。 -
通常会把 jQuery 代码放到 <head> 部分的事件处理方法中:
例如 ;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery事件</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("button#hd").click(function() {
$("p#hide").hide();
$("button#hd").hide();
$("button#dp").show();
});
$("button#dp").click(function() {
$("p#hide").show();
$("button#hd").show();
$("button#dp").hide();
});
});
</script>
</head>
<body>
<h2>jQuery事件</h2>
<p style="display: inline">波吉的身份:</p>
<p id="hide" style="display: inline">波吉国王</p>
<button id="hd">点击隐藏</button>
<button id="dp" style="display: none;">点击显示</button>
</body>
</html>
效果:
说明 :
$("button").click(function() {..some code... } )
- 绑定按钮
button 事件, 当点击按钮事件时会触发调用函数 $('p').hide(); : 隐藏p标签元素$('p').show(); : 显示p标签元素
jQuery 名称冲突
用上一个栗子 :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery事件</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
var jq = $.noConflict();
jq(document).ready(function() {
jq("button#hd").click(function() {
jq("p#hide").hide();
jq("button#hd").hide();
jq("button#dp").show();
});
jq("button#dp").click(function() {
jq("p#hide").show();
jq("button#hd").show();
jq("button#dp").hide();
});
});
</script>
</head>
<body>
<h2>jQuery事件</h2>
<p style="display: inline">波吉的身份:</p>
<p id="hide" style="display: inline">波吉国王</p>
<button id="hd">点击隐藏</button>
<button id="dp" style="display: none;">点击显示</button>
</body>
</html>
显示效果与上一个例子完全一样, $ 其实是jQuery 的替代, 如果有发生命名冲突可用其他变量来代替他们的命名, 一般写全称jQuery 是不会冲突的, 而写$ 可能会冲突, 但又要输入方便, 可以用更简短的符号来代替jQuery , 比如上面的jq , 就可以代替。
var jq = jQuery.noConflict(); 或var jq = $.noConflict(); 所做的事是重命名jQuery库
建议 :
由于 jQuery 是为处理 HTML 事件而特别设计的,遵循以下原则时,代码会更恰当且更易维护:
- 把所有 jQuery 代码置于事件处理函数中
- 把所有事件处理函数置于文档就绪事件处理器中
- 把 jQuery 代码置于单独的 .js 文件中
- 如果存在名称冲突,则重命名 jQuery 库
Query 事件
下面是 jQuery 中事件方法的一些例子:
Event 函数 | 绑定函数至 |
---|
$(document).ready(function) | 将函数绑定到文档的就绪事件(当文档完成加载时) | $(selector).click(function) | 触发或将函数绑定到被选元素的点击事件 | $(selector).dblclick(function) | 触发或将函数绑定到被选元素的双击事件 | $(selector).focus(function) | 触发或将函数绑定到被选元素的获得焦点事件 | $(selector).mouseover(function) | 触发或将函数绑定到被选元素的鼠标悬停事件 |
jQuery 参考手册
更多用法可参考W3School网站
|