jQuery是一个轻量级的"
写得少,做的多"JavaScript库
功能:
- HTML 元素选取
- HTML 元素操作
- CSS 操作
- HTML 事件函数
- JavaScript 特效和动画
- HTML DOM 遍历和修改
- AJAX
- Utilities
语法:
jQUery语法是通过选取HTML元素,并对选取的元素执行某些操作
基础语法:
$(selector).action()
- 美元符号定义jQuery
- 选择符(selector)“查询”和“查找HTML元素
- jQuery的action()执行对元素的操作
实例:
- $(this).hide(): 隐藏当前元素
- $("p").hide():隐藏所有<p>元素
- $("p.test").hide():隐藏所有class=“test”的<p>元素
- $("#test").hide():隐藏所有id="test"的元素
文档就绪事件:
事例中的所有jQuery函数位于一个document ready函数中:
$(document).ready(function () {
// 开始写jQuery代码
})
// 精简写法
$(function () {
// 开始写jQuery代码
})
这是为了防止文档在完全加载(就绪)之前运行jQuery代码,即:在DOM加载完成之后才可以对DOM进行操作。如果在文档没有完全加载之前就运行函数,操作可能失败。例如:
- 试图隐藏一个不存在的元素
- 获得未完全加载的图像的大小
一、基本选择器
jQuery选择器允许我们对HTML元素组或单个元素进行操作
jQuery选择器基于元素的id、类、类型、属性、属性值等“查找”(或选择)HTML元素。它基于已经存在的CSS选择器,除此之外还有一些自定义的选择器
所有选择器都是以美元符号开头:$()
1. 标签选择器
jQuery标签选择器基于标签名选取元素
$(document).ready(
function(){
// 点击按钮 隐藏所有的p与那素
$("button").click(
function(){
$("p"
).hide();
});
});
2. #id选择器
$(document).ready(
function(){
// 隐藏所有id=test属性的元素
$("button").click(
function(){
$("#test"
).hide();
});
});
3. .class选择器
$(document).ready(
function(){
// 隐藏所有class=test属性的元素
$("button").click(
function(){
$(".test"
).hide();
});
});
实例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title
</title>
</head>
<body>
<div></div>
<div id="box"></div>
<div class="box"></div>
<div class="box"></div>
<div></div>
<script type="text/javascript" src="jquery-3.3.1.js"></script>
<script type="text/javascript">
// 入口函数
$(function () {
// 三种方式获得jquery对象
var jqBox1 = $("#box");
var jqBox2 = $(".box");
var jqBox3 = $("div");
// 操作标签选择器
jqBox3.css('width', '100');
jqBox3.css('height', '100');
jqBox3.css('background-color', 'red');
jqBox3.css('margin-top', 10);
// 操作类选择器(隐形迭代,不用一个一个设置)
jqBox2.css("background", "green");
jqBox2.text("jiumo");
// 操作id选择器
jqBox1.css("background", "yellow");
})
</script>
</body>
</html>
二、层级选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>久末
</title>
</head>
<body>
<ul>
<li>111
</li>
<li>222
</li>
<li>333
</li>
<ol>
<li>aaa
</li>
<li>bbb
</li>
<li>ccc
</li>
</ol>
</ul>
<script src="jquery-3.3.1.js"></script>
<script>
$(function () {
// 获取ul中的li设置为粉色
// 后代:儿孙等等
var jqLi = $("ul li");
jqLi.css("margin", 5);
jqLi.css("background", "pink");
// 子代:亲儿子设置为红色
var jqOtherLi = $("ul>li");
jqOtherLi.css("background", "red");
})
</script>
</body>
</html>
三、基本过滤选择器
四、筛选选择器
五、jQuery事件
什么是事件:
页面对不同访问者的响应叫做事件,事件处理程序指的是当HTML中发生某些事件所调用的方法。例如:
- 在元素上移动鼠标
- 选取单选按钮
- 点击元素
在事件中经常使用术语“触发”,例如:当按下按键时触发keypress事件
常见的DOM事件:
// 鼠标事件
// click: 当单机元素时触发click事件
$(selector).click();
// dblclick: 当双击元素时触发dblclick事件
$(selector).dblclick();
// mouseenter: 鼠标进入触发
// mouseleave: 鼠标离开触发
$(selector).mouseenter();
$(selector).mouseleave();
// 键盘事件
// keydown: 键按下的过程
// keypress: 键被按下(不会触发所有键,如:ALT、CTRL、SHIFT、ESC) 可以使用keydown()
// keyup: 键被松开
$(selector).keydown();
$(selector).keypress();
$(selector).keyup();
// hover: 当鼠标指针悬停在被选中元素上要运行的两个函数
$(selector).hover(inFunction,outFunction);
// 表单事件
// submit: 当提交表单时会触发,只适用与<form>元素
$(selector).submit();
// change: 当元素的值改变时触发(仅适用于表单字段)
$(selector).change();
// focus: 当元素获得焦点时(当通过鼠标点击选中元素或通过tab键定位到元素时)触发
// blur: 当元素失去焦点时触发
$(selector).focus();
$(selector).blur();
// 文档/窗口事件
// resize: 当调整浏览器窗口大小时触发
$(selector).resize();
// scroll: 当用户滚动指定元素时触发
$(selector).scroll();
注意:
1. mouseenter()与mouseover()不同:
- mouserover 事件在鼠标移动到选取的元素及其子元素上时触发
- mouseenter事件只在鼠标移动到选取的元素上时触发
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>久末
</title>
<script src="jquery-3.3.1.js">
</script>
<script>
x=0;
y=0;
$(document).ready(function(){
$("div.over").mouseover(function(){
$(".over span").text(x+=1);
});
$("div.enter").mouseenter(function(){
$(".enter span").text(y+=1);
});
});
</script>
</head>
<body>
<p>mouseover 事件在鼠标移动到选取的元素及其子元素上时触发 。
</p>
<p>mouseenter 事件只在鼠标移动到选取的元素上时触发。
</p>
<div class="over" style="background-color:lightgray;padding:20px;width:250px;float:left">
<h3 style="background-color:white;">Mouseover 事件触发:
<span></span></h3>
</div>
<div class="enter" style="background-color:lightgray;padding:20px;width:250px;float:right">
<h3 style="background-color:white;">Mouseenter 事件触发:
<span></span></h3>
</div>
</body>
</html>
2. event.which属性
- event.whitch属性返回指定事件上哪个键盘键或鼠标按钮被按下
$("input").keydown(function(event){
$("div").html("Key: " + event.which);
});
3. hover()方法
方法规定当鼠标指针悬停在被选元素上时要运行的两个函数。
方法触发mouseenter和mouseleave事件
注意:如果只指定一个函数,则mouseenetr和mouseleave都执行它
实例调用:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>久末
</title>
<script src="jquery-3.3.1.js">
</script>
<script>
$(document).ready(function(){
$("p").hover(function(){
$("p").css("background-color","yellow");
},function(){
$("p").css("background-color","pink");
});
});
</script>
</head>
<body>
<p>鼠标移动到该段落。
</p>
</body>
</html>
$(selector).hover(handlerIn, handlerOut)
等同以下方式:
$(selector).mouseover(handlerIn).mouseout(handlerOut)
注意:如果只规定一个函数,则它将会在mouseover和mouseout事件上运行。
调用:
$(selector).hover(handlerInOut)
等同于:
$(selector).on("mouseover mouseout", hanlerInOut);
转载于:https://www.cnblogs.com/jiumo/p/9761037.html