jquery

本文详细介绍了jQuery库的主要特性,包括HTML元素选取、操作、CSS控制、事件处理和AJAX功能。重点讲解了jQuery的选择器,如元素选择器、属性选择器和CSS选择器,并提供了丰富的示例。此外,还涵盖了事件方法,如click、bind、unload等,以及如何处理和绑定事件。最后,文章讨论了如何在页面中使用jQuery函数、解决名称冲突和组织事件方法。
摘要由CSDN通过智能技术生成

jquery

1.jquery库-特性

  • HTML 元素选取
  • HTML 元素操作
  • CSS 操作
  • HTML 事件函数
  • JavaScript 特效和动画
  • HTML DOM 遍历和修改
  • AJAX
  • Utilities

在使用jquery库的时候先将下面的标记添加在网页中

// 请注意,<script> 标签应该位于页面的 <head> 部分。
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>

2.jquery选择器

1.元素选择器

jQuery 使用 CSS 选择器来选取 HTML 元素。

$("p") 选取 <p> 元素。

$("p.intro") 选取所有 class="intro"<p> 元素。

$("p#demo") 选取所有 id="demo"<p> 元素。

2.属性选择器

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

$("[href]") 选取所有带有 href 属性的元素。

$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。

$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。

$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。

3.css选择器

$("p").css("background-color","red");
选择器实例选取
*$("*")所有元素
#id$("#lastname")id=“lastname” 的元素
.class$(".intro")所有 class=“intro” 的元素
element$(“p”)所有 <p标签> 元素
.class.class$(".intro.demo")所有 class=“intro” 且 class=“demo” 的元素
:first$(“p:first”)第一个<p标签> 元素
:last$(“p:last”)最后一个<p标签>元素
:even$(“tr:even”)所有偶数<tr标签> 元素
:odd$(“tr:odd”)所有奇数 <tr标签> 元素
:eq(index)$(“ul li:eq(3)”)列表中的第四个元素(index 从 0 开始)
:gt(no)$(“ul li:gt(3)”)列出 index 大于 3 的元素
:lt(no)$(“ul li:lt(3)”)列出 index 小于 3 的元素
:not(selector)$(“input:not(:empty)”)所有不为空的 input 元素
:header$(":header")所有标题元素 <h1标签> - <h6标签>
:contains(text)$(":contains(‘W3School’)")包含指定字符串的所有元素
:empty$(":empty")无子(元素)节点的所有元素
:hidden$(“p:hidden”)所有隐藏的 p标签元素
:visible$(“table:visible”)所有可见的表格
s1,s2,s3$(“th,td,.intro”)所有带有匹配选择的元素
[attribute]$("[href]")所有带有 href 属性的元素
[attribute=value]$("[href=’#’]")所有 href 属性的值等于 “#” 的元素
[attribute!=value]$("[href!=’#’]")所有 href 属性的值不等于 “#” 的元素
[attribute$=value] ( " [ h r e f ("[href ("[href=’.jpg’]")所有 href 属性的值包含以 “.jpg” 结尾的元素
:input$(":input")所有 <input标签> 元素
:text$(":text")所有 type=“text” 的 <input标签> 元素
:password$(":password")所有 type=“password” 的 <input标签> 元素
:radio$(":radio")所有 type=“radio” 的 <input标签> 元素
:checkbox$(":checkbox")所有 type=“checkbox” 的 <input标签> 元素
:submit$(":submit")所有 type=“submit” 的 <input标签> 元素
:reset$(":reset")所有 type=“reset” 的 <input标签> 元素
:button$(":button")所有 type=“button” 的 <input标签> 元素
:image$(":image")所有 type=“image” 的 <input标签> 元素
:file$(":file")所有 type=“file” 的 <input标签> 元素
:enabled$(":enabled")所有激活的 input 元素
:disabled$(":disabled")所有禁用的 input 元素
:selected$(":selected")所有被选取的 input 元素
:checked$(":checked")所有被选中的 input 元素

3.事件

示例代码

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $("p").hide();
  });
});
</script>
</head>

<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button>Click me</button>
</body>

</html>

1.单独文件中的函数

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

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

<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="my_jquery_functions.js"></script>
</head>

2.jQuery 名称冲突

jQuery 使用 $ 符号作为 jQuery 的简介方式。
某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。
jQuery 使用名为 noConflict() 的方法来解决该问题。
var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。
实例

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery 仍在运行!");
  });
});
</script>
</head>

<body>
<p>这是一个段落。</p>
<button>测试 jQuery</button>
</body>
</html>

3.事件方法

事件方法会触发匹配元素的事件,或将函数绑定到所有匹配元素的某个事件。

$(“button#demo”).click()

上面的例子将触发 id=“demo” 的 button 元素的 click 事件。
绑定实例:

KaTeX parse error: Expected 'EOF', got '#' at position 9: ("button#̲demo").click(fu…(“img”).hide()})

方法描述
bind()向匹配元素附加一个或更多事件处理器
blur()触发、或将函数绑定到指定元素的 blur 事件
change()触发、或将函数绑定到指定元素的 change 事件
click()触发、或将函数绑定到指定元素的 click 事件
dblclick()触发、或将函数绑定到指定元素的 double click 事件
delegate()向匹配元素的当前或未来的子元素附加一个或多个事件处理器
die()移除所有通过 live() 函数添加的事件处理程序。
error()触发、或将函数绑定到指定元素的 error 事件
event.isDefaultPrevented()返回 event 对象上是否调用了 event.preventDefault()。
event.pageX相对于文档左边缘的鼠标位置。
event.pageY相对于文档上边缘的鼠标位置。
event.preventDefault()阻止事件的默认动作。
event.result包含由被指定事件触发的事件处理器返回的最后一个值。
event.target触发该事件的 DOM 元素。
event.timeStamp该属性返回从 1970 年 1 月 1 日到事件发生时的毫秒数。
event.type描述事件的类型。
event.which指示按了哪个键或按钮。
focus()触发、或将函数绑定到指定元素的 focus 事件
keydown()触发、或将函数绑定到指定元素的 key down 事件
keypress()触发、或将函数绑定到指定元素的 key press 事件
keyup()触发、或将函数绑定到指定元素的 key up 事件
live()为当前或未来的匹配元素添加一个或多个事件处理器
load()触发、或将函数绑定到指定元素的 load 事件
mousedown()触发、或将函数绑定到指定元素的 mouse down 事件
mouseenter()触发、或将函数绑定到指定元素的 mouse enter 事件
mouseleave()触发、或将函数绑定到指定元素的 mouse leave 事件
mousemove()触发、或将函数绑定到指定元素的 mouse move 事件
mouseout()触发、或将函数绑定到指定元素的 mouse out 事件
mouseover()触发、或将函数绑定到指定元素的 mouse over 事件
mouseup()触发、或将函数绑定到指定元素的 mouse up 事件
one()向匹配元素添加事件处理器。每个元素只能触发一次该处理器。
ready()文档就绪事件(当 HTML 文档就绪可用时)
resize()触发、或将函数绑定到指定元素的 resize 事件
scroll()触发、或将函数绑定到指定元素的 scroll 事件
select()触发、或将函数绑定到指定元素的 select 事件
submit()触发、或将函数绑定到指定元素的 submit 事件
toggle()绑定两个或多个事件处理器函数,当发生轮流的 click 事件时执行。
trigger()所有匹配元素的指定事件
triggerHandler()第一个被匹配元素的指定事件
unbind()从匹配元素移除一个被添加的事件处理器
undelegate()从匹配元素移除一个被添加的事件处理器,现在或将来
unload()触发、或将函数绑定到指定元素的 unload 事件

4.事件

1. Mouse 事件 描述

onClick 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击
onDblClick 鼠标双击事件
onMouseDown 鼠标上的按钮被按下了
onMouseUp 鼠标按下后,松开时激发的事件
onMouseOver 当鼠标移动到某对象范围的上方时触发的事件
onMouseMove 鼠标移动时触发的事件
onMouseOut 当鼠标离开某对象范围时触发的事件
onKeyPress 当键盘上的某个键被按下并且释放时触发的事件.[注意:页面内必须有被聚焦的对象]
onKeyDown 当键盘上某个按键被按下时触发的事件[注意:页面内必须有被聚焦的对象]
onKeyUp 当键盘上某个按键被按放开时触发的事件[注意:页面内必须有被聚焦的对象]
ondrag 元素被拖动时运行的脚本。
ondragend 在拖动操作末端运行的脚本。
ondragenter 当元素元素已被拖动到有效拖放区域时运行的脚本。
ondragleave 当元素离开有效拖放目标时运行的脚本。
ondragover 当元素在有效拖放目标上正在被拖动时运行的脚本。
ondragstart 在拖动操作开端运行的脚本。
ondrop 当被拖元素正在被拖放时运行的脚本。
onmousewheel 当鼠标滚轮正在被滚动时运行的脚本。
onscroll 当元素滚动条被滚动时运行的脚本。

2.页面相关事件 描述

onAbort 图片在下载时被用户中断
onBeforeUnload 当前页面的内容将要被改变时触发的事件
onError 捕抓当前页面因为某种原因而出现的错误,如脚本错误与外部数据引用的错误
onLoad 页面内空完成传送到浏览器时触发的事件,包括外部文件引入完成
onMove 浏览器的窗口被移动时触发的事件
onResize 当浏览器的窗口大小被改变时触发的事件
onScroll 浏览器的滚动条位置发生变化时触发的事件
onStop 浏览器的停止按钮被按下时触发的事件或者正在下载的文件被中断
onUnload 当前页面将被改变时触发的事件

3.表单相关事件 描述

onBlur 当前元素失去焦点时触发的事件 [鼠标与键盘的触发均可]
onChange 当前元素失去焦点并且元素的内容发生改变而触发的事件 [鼠标与键盘的触发均可]
onFocus 当某个元素获得焦点时触发的事件
onReset 当表单中RESET的属性被激发时触发的事件
onSubmit 一个表单被递交时触发的事件
.
oninput 在value改变时触发,实时的,即每增加或删除一个字符就会触发,然而通过js改变value时,却不会触发;
oncontextmenu 当上下文菜单被触发时运行的脚本。
onformchange 在表单改变时运行的脚本。
onforminput 当表单获得用户输入时运行的脚本。
oninput 当元素获得用户输入时运行的脚本。
oninvalid 当元素无效时运行的脚本。

4.滚动字幕事件 描述

onBounce 在Marquee内的内容移动至Marquee显示范围之外时触发的事件
onFinish 当Marquee元素完成需要显示的内容后触发的事件
onStart 当Marquee元素开始显示内容时触发的事件

5.编辑事件事件 描述

onBeforeCopy 当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发的事件
onBeforeCut 当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发的事件
onBeforeEditFocus 当前元素将要进入编辑状态
onBeforePaste 内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发的事件
onBeforeUpdate 当浏览者粘贴系统剪贴板中的内容时通知目标对象
onContextMenu 当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件 [试试在页面中的中加入onContentMenu="return false"就可禁止使用鼠标右键了]
onCopy 当页面当前的被选择内容被复制后触发的事件
onCut 当页面当前的被选择内容被剪切时触发的事件
onDrag 当某个对象被拖动时触发的事件 [活动事件]
onDragDrop 一个外部对象被鼠标拖进当前窗口或者帧
onDragEnd 当鼠标拖动结束时触发的事件,即鼠标的按钮被释放了
onDragEnter 当对象被鼠标拖动的对象进入其容器范围内时触发的事件
onDragLeave 当对象被鼠标拖动的对象离开其容器范围内时触发的事件
onDragOver 当某被拖动的对象在另一对象容器范围内拖动时触发的事件
onDragStart 当某对象将被拖动时触发的事件
onDrop 在一个拖动过程中,释放鼠标键时触发的事件
onLoseCapture 当元素失去鼠标移动所形成的选择焦点时触发的事件
onPaste 当内容被粘贴时触发的事件
onSelect 当文本内容被选择时的事件
onSelectStart 当文本内容选择将开始发生时触发的事件

6.数据绑定事件 描述

onAfterUpdate 当数据完成由数据源到对象的传送时触发的事件
onCellChange 当数据来源发生变化时
onDataAvailable 当数据接收完成时触发事件
onDatasetChanged 数据在数据源发生变化时触发的事件
onDatasetComplete 当来子数据源的全部有效数据读取完毕时触发的事件
onErrorUpdate 当使用onBeforeUpdate事件触发取消了数据传送时,代替onAfterUpdate事件
onRowEnter 当前数据源的数据发生变化并且有新的有效数据时触发的事件
onRowExit 当前数据源的数据将要发生变化时触发的事件
onRowsDelete 当前数据记录将被删除时触发的事件
onRowsInserted 当前数据源将要插入新数据记录时触发的事件
onAfterPrint 当文档被打印后触发的事件
onBeforePrint 当文档即将打印时触发的事件
onFilterChange 当某个对象的滤镜效果发生变化时触发的事件
onHelp 当浏览者按下F1或者浏览器的帮助选择时触发的事件
onPropertyChange 当对象的属性之一发生变化时触发的事件
onReadyStateChange 当对象的初始化属性值发生变化时触发的事件

7.Window 事件

onafterprint 文档打印之后运行的脚本。
onbeforeprint 文档打印之前运行的脚本。
onbeforeunload 文档卸载之前运行的脚本。
onerror 在错误发生时运行的脚本。
onhaschange 当文档已改变时运行的脚本。
onload 页面结束加载之后触发。
onmessage 在消息被触发时运行的脚本。
onoffline 当文档离线时运行的脚本。
ononline 当文档上线时运行的脚本。
onpagehide 当窗口隐藏时运行的脚本。
onpageshow 当窗口成为可见时运行的脚本。
onpopstate 当窗口历史记录改变时运行的脚本。
onredo 当文档执行撤销(redo)时运行的脚本。
onresize 当浏览器窗口被调整大小时触发。
onstorage 在 Web Storage 区域更新后运行的脚本。
onundo 在文档执行 undo 时运行的脚本。
onunload 一旦页面已下载时触发(或者浏览器窗口已被关闭)。

8.Media 事件

onabort 在退出时运行的脚本。
oncanplay 当文件就绪可以开始播放时运行的脚本(缓冲已足够开始时)。
oncanplaythrough 当媒介能够无需因缓冲而停止即可播放至结尾时运行的脚本。
ondurationchange 当媒介长度改变时运行的脚本。
onemptied 当发生故障并且文件突然不可用时运行的脚本(比如连接意外断开时)。
onended 当媒介已到达结尾时运行的脚本(可发送类似“感谢观看”之类的消息)。
onerror 当在文件加载期间发生错误时运行的脚本。
onloadeddata 当媒介数据已加载时运行的脚本。
onloadedmetadata 当元数据(比如分辨率和时长)被加载时运行的脚本。
onloadstart 在文件开始加载且未实际加载任何数据前运行的脚本。
onpause 当媒介被用户或程序暂停时运行的脚本。
onplay 当媒介已就绪可以开始播放时运行的脚本。
onplaying 当媒介已开始播放时运行的脚本。
onprogress 当浏览器正在获取媒介数据时运行的脚本。
onratechange 每当回放速率改变时运行的脚本(比如当用户切换到慢动作或快进模式)。
onreadystatechange 每当就绪状态改变时运行的脚本(就绪状态监测媒介数据的状态)。
onseeked 当 seeking 属性设置为 false(指示定位已结束)时运行的脚本。
onseeking 当 seeking 属性设置为 true(指示定位是活动的)时运行的脚本。
onstalled 在浏览器不论何种原因未能取回媒介数据时运行的脚本。
onsuspend 在媒介数据完全加载之前不论何种原因终止取回媒介数据时运行的脚本。
ontimeupdate 当播放位置改变时(比如当用户快进到媒介中一个不同的位置时)运行的脚本。
onvolumechange 每当音量改变时(包括将音量设置为静音)时运行的脚本。
onwaiting 当媒介已停止播放但打算继续播放时(比如当媒介暂停已缓冲更多数据)运行脚本

9.手机端

处理Touch事件能让你跟踪用户的每一根手指的位置。你可以绑定以下四种Touch事件:
1.touchstart: // 手指放到屏幕上的时候触发
2.touchmove: // 手指在屏幕上移动的时候触发
3.touchend: // 手指从屏幕上拿起的时候触发
4touchcancel: // 系统取消touch事件的时候触发。至于系统什么时候会取消,不详
属性
1.client / clientY:// 触摸点相对于浏览器窗口viewport的位置
2.pageX / pageY:// 触摸点相对于页面的位置
3.screenX /screenY:// 触摸点相对于屏幕的位置
4.identifier: // touch对象的unique ID
.
//touchstart事件
function touchSatrtFunc(e) {
//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等
var touch = e.touches[0]; //获取第一个触点
var x = Number(touch.pageX); //页面触点X坐标
var y = Number(touch.pageY); //页面触点Y坐标
//记录触点初始位置
startX = x;
startY = y;
}
//touchmove事件
function touchMoveFunc(e) {
//evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等
var touch = evt.touches[0]; //获取第一个触点
var x = Number(touch.pageX); //页面触点X坐标
var y = Number(touch.pageY); //页面触点Y坐标
var text = ‘TouchMove事件触发:(’ + x + ', ’ + y + ‘)’;
//判断滑动方向
if (x - startX != 0) {
//左右滑动
}
if (y - startY != 0) {
//上下滑动
}
}

4.获取内容和属性 - text()、html() 以及 val()

三个简单实用的用于 DOM 操作的 jQuery 方法:
text() - 设置或返回所选元素的文本内容
html() - 设置或返回所选元素的内容(包括 HTML 标记)
val() - 设置或返回表单字段的值

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function(){
  $("#btn1").click(function(){
    alert("Text: " + $("#test").text());
  });
  $("#btn2").click(function(){
    alert("HTML: " + $("#test").html());
  });
});
</script>
</head>

<body>
<p id="test">这是段落中的<b>粗体</b>文本。</p>
<button id="btn1">显示文本</button>
<button id="btn2">显示 HTML</button>
</body>

</html>
<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    alert("Value: " + $("#test").val());
  });
});
</script>
</head>

<body>
<p>姓名:<input type="text" id="test" value="米老鼠"></p>
<button>显示值</button>
</body>

</html>

获取属性 - attr()

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    alert($("#w3s").attr("href"));
  });
});
</script>
</head>

<body>
<p><a href="http://www.w3school.com.cn" id="w3s">W3School.com.cn</a></p>
<button>显示 href 值</button>
</body>

</html>

隐藏和显示

jQuery hide()
演示一个简单的 jQuery hide() 方法。
jQuery hide()
另一个 hide() 演示。如何隐藏部分文本。
可选的 speed 参数规定隐藏/显示的速度,可以取以下值:“slow”、“fast” 或毫秒。
可选的 callback 参数是隐藏或显示完成后所执行的函数名称。
下面的例子演示了带有 speed 参数的 hide() 方法:

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#hide").click(function(){
  $("p").hide();
  });
  $("#show").click(function(){
  $("p").show();
  });
});
</script>
</head>
<body>
<p id="p1">如果点击“隐藏”按钮,我就会消失。</p>
<button id="hide" type="button">隐藏</button>
<button id="show" type="button">显示</button>
</body>
</html>

<!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
  $("p").hide(1000);
  });
});
</script>
</head>
<body>
<button type="button">隐藏</button>
<p>这是一个段落。</p>
<p>这是另一个段落。</p>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值