一个JavaScript库
功能
- HTML元素选取
- HTML元素操作
- CSS操作
- HTML事件函数
- JavaScript特效和动画
- HTML DOM遍历和修改
- AJAX
- Utilities
CDN
Staticfile CDN
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
百度 CDN
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
又拍云 CDN
<script src="https://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.2.min.js"></script>
语法
JQuery是通过选取HTML元素,并对选取的元素执行某些操作。 JQuery使用的语法是XPath与CSS选择器语法的组合。
基础语法:$(selector).action()
- 美元符号定义JQuery
- 选择符(
selector)”查询”和”查找”HTML元素 -
实例
$(this).hide()- 隐藏当前元素$("p").hide()- 隐藏所有元素
$("p.test").hide()- 隐藏所有 class=”test” 的元素
$("#test").hide()- 隐藏 id=”test” 的元素
文档就绪事件
$(document).ready(function(){// 开始写 jQuery 代码...});或者$(function(){// 开始写 jQuery 代码...});
这是为了防止在完全加载(就绪)之前运行JQuery代码,就是在DOM加载完成之后才可以对DOM进行操作。
$(document).ready(function(){})用于 DOM 结构加载完毕后就可以执行方法内代码块,由此得出,onload 是在 ready 后执行。
window.onload = function(){} 用于整个网页(包括图片等)加载完毕后执行方法内代码块
jQuery选择器
基于CSS3选择器,除此之外,还有一些自定义的选择器。 jQuery中所有选择器都以美元符号开头:$( )
元素选择器
基于元素名选取
在页面中选取所有
元素$("p")
隐藏所有
元素
$(document).ready(function(){$("button").click(function(){$("p").hide();});});
#id 选择器
通过HTML元素的id属性选取指定的元素
选取id为test的元素$("#test")
隐藏id=”test”属性的元素
$(document).ready(function(){$("button").click(function(){$("#test").hide();});});
.class 选择器
通过指定的class查找元素
$(".test")
隐藏class=”test”属性的元素
$(document).ready(function(){$("button").click(function(){$(".test").hide();});});
实例
$("#id", ".class") 复合选择器$(div p span) 层级选择器 //div下的p元素中的span元素$(div>p) 父子选择器 //div下的所有p元素$(div+p) 相邻元素选择器 //div后面的p元素(仅一个p)$(div~p) 兄弟选择器 //div后面的所有p元素(同级别)$(.p:last) 类选择器 加 过滤选择器 第一个和最后一个(first 或者 last)$("#mytable td:odd") 层级选择 加 过滤选择器 奇偶(odd 或者 even)$("div p:eq(2)") 索引选择器 div下的第三个p元素(索引是从0开始)$("[href]") 选取带有href属性的元素$("a[href='www.baidu.com']") 属性选择器$("p:contains(test)") // 内容过滤选择器,包含text内容的p元素$(":emtyp") //内容过滤选择器,所有空标签(不包含子标签和内容的标签)parent 相反$(":hidden") //所有隐藏元素 visible$("input:enabled") //选取所有启用的表单元素$(":disabled") //所有不可用的元素$("input:checked") //获取所有选中的复选框单选按钮等$("select option:selected") //获取选中的选项元素$("a[target='_blank']") 选取所有 target 属性值等于 "_blank" 的 <a> 元素$("a[target!='_blank']") 选取所有 target 属性值不等于 "_blank" 的 <a> 元素
关于:和[]
:可以理解为种类[]可以理解为属性
jQuery事件
页面对不同访问者的响应叫做事件。 事件处理程序指的是当HTML中发生某些事件时所调用的方法。
- 在元素上移动鼠标
- 选取单选按钮
- 点击元素
触发
常见DOM事件
| 鼠标事件 | 键盘事件 | 表单事件 | 文档/窗口事件 |
|---|---|---|---|
| Click | keypress | submit | load |
| dblclick | keydown | change | resize |
| mouseenter | keyup | focus | scroll |
| mouseleave | blur | unload | |
| hover |
事件方法语法
$("p").click(function(){// 动作触发后执行的代码!!});
click()
当按钮点击事件被触发时会调用一个函数。
点击
元素,之后隐藏
$(document).ready(function(){$("p").click(function(){$(this).hide();});});
dblclick()
双击元素,发生dblclick事件
双击
元素,之后隐藏
$("p").dblclick(function(){$(this).hide();});
mouseenter()
当鼠标穿过元素时,会发生mouseenter事件。
实例
$("#p1").mouseenter(function(){alert('您的鼠标移到了 id="p1" 的元素上!');});
mouseleave()
当鼠标离开元素时,会发生mouseleave事件。
实例
$("#p1").mouseleave(function(){alert("再见,您的鼠标离开了该段落。");});
mousedown()
当鼠标指针移动到元素上方,并按下鼠标按键时,会发生mousedown事件
实例
$("#p1").mousedown(function(){alert("鼠标在该段落上按下!");});
mouseup()
当在元素上松开鼠标按钮时,会发生mouseup事件。
实例
$("#p1").mouseup(function(){alert("鼠标在段落上松开。");});
hover()
hover()方法用于模拟光标悬停事件。
实例
$("#p1").hover(function(){alert("你进入了 p1!");},function(){alert("拜拜! 现在你离开了 p1!");});
focus()
当元素获得焦点时,发生focus事件 当通过鼠标点击选中元素或通过tab键定位到元素时,该元素就会获得焦点
blur()
当元素失去焦点时,发生blur事件。
实例
$(document).ready(function () {$("input").focus(function () {$(this).css("background-color", "#cccccc");});$("input").blur(function () {$(this).css("background-color", "#ffffff");});});
jQuery效果
隐藏,显示,切换,滑动,淡入淡出,以及动画。
隐藏和显示
hide()和show()
使用以上方法隐藏和显示HTML元素 语法:
$(selector).hide(speed,callback);$(selector).show(speed,callback);speed参数规定隐藏和显示的速度,可以取”slow”,”fast”或者毫秒 callback参数是隐藏或显示完成后所执行的函数名称
<script>$(document).ready(function(){$("#hide").click(function(){$("p").hide();});$("#show").click(function(){$("p").show();});});</script><body><p>如果你点击“隐藏” 按钮,我将会消失。</p><button id="hide">隐藏</button><button id="show">显示</button></body>
<style>div{width: 130px;height: 50px;padding: 15px;margin: 15px;background-color: green;}</style><script>$(document).ready(function(){$(".hidebtn").click(function(){$("div").hide(1000,"linear",function(){alert("Hide() 方法已完成!");});});});</script><body><div>隐藏及设置回调函数</div><button class="hidebtn">隐藏</button></body>
速度后面的字符串表示的是过渡使用哪种缓动函数,”linear”和”swing”其他的需要使用插件。
toggle()
可以通过这个方法来切换
hide()和show()方法 语法
$(selector).toggle(speed,callback);
<script>$(document).ready(function(){$("button").click(function(){$("p").toggle();});});</script><body><button>隐藏/显示</button><p>这是一个文本段落。</p><p>这是另外一个文本段落。</p></body>
淡入淡出
实现元素的淡入淡出效果
fading方法
- fadeIn()
- fadeOut()
- fadeToggle()
- fadeTo()
fadeIn()
用于淡入已隐藏的元素 语法:
$(selector).fadeIn(speed,callback);
实例
$(document).ready(function(){$("button").click(function(){$("#div1").fadeIn();$("#div2").fadeIn("slow");$("#div3").fadeIn(3000);});});<body><p>以下实例演示了 fadeIn() 使用了不同参数的效果。</p><button>点击淡入 div 元素。</button><br><br><div id="div1" style="width:80px;height:80px;display:none;background-color:red;"></div><br><div id="div2" style="width:80px;height:80px;display:none;background-color:green;"></div><br><div id="div3" style="width:80px;height:80px;display:none;background-color:blue;"></div></body>
fadeOut()
用于淡出可见元素 语法:
$(selector).fadeOut(speed,callback);
实例
$(document).ready(function(){$("button").click(function(){$("#div1").fadeOut();$("#div2").fadeOut("slow");$("#div3").fadeOut(3000);});});<body><p>以下实例演示了 fadeOut() 使用了不同参数的效果。</p><button>点击淡出 div 元素。</button><br><br><div id="div1" style="width:80px;height:80px;background-color:red;"></div><br><div id="div2" style="width:80px;height:80px;background-color:green;"></div><br><div id="div3" style="width:80px;height:80px;background-color:blue;"></div></body>
fadeToggle()
可以在
fadeIn()与fadeOut()方法之间进行切换。 语法:
$(selector).fadeToggle(speed,callback);
实例
<script>$(document).ready(function(){$("button").click(function(){$("#div1").fadeToggle();$("#div2").fadeToggle("slow");$("#div3").fadeToggle(3000);});});</script><body><p>实例演示了 fadeToggle() 使用了不同的 speed(速度) 参数。</p><button>点击淡入/淡出</button><br><br><div id="div1" style="width:80px;height:80px;background-color:red;"></div><br><div id="div2" style="width:80px;height:80px;background-color:green;"></div><br><div id="div3" style="width:80px;height:80px;background-color:blue;"></div></body>
fadeTo()
这个方法允许渐变为给定的不透明度(值介于0和1之间) 语法:
$(selector).fadeTo(speed,opacity,callback);
speed参数必须规定效果的时长。
opacity参数也是必须的,用于将淡入淡出的效果设置为给定的不透明度(介于0与1之间)
<script>$(document).ready(function(){$("button").click(function(){$("#div1").fadeTo("slow",0.15);$("#div2").fadeTo("slow",0.4);$("#div3").fadeTo("slow",0.7);});});</script><body><p>演示 fadeTo() 使用不同参数</p><button>点我让颜色变淡</button><br><br><div id="div1" style="width:80px;height:80px;background-color:red;"></div><br><div id="div2" style="width:80px;height:80px;background-color:green;"></div><br><div id="div3" style="width:80px;height:80px;background-color:blue;"></div></body>
滑动
可以使元素上下滑动
slideDown()
用于向下滑动元素 语法:
$(selector).slideDown(speed,callback);
实例
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("#flip").click(function(){$("#panel").slideDown("slow");});});</script><style type="text/css">#panel,#flip{padding:5px;text-align:center;background-color:#e5eecc;border:solid 1px #c3c3c3;}#panel{padding:50px;display:none;}</style></head><body><div id="flip">点我滑下面板</div><div id="panel">Hello world!</div></body></html>
slideUp()
用于向上滑动元素 语法:
$(selector).slideUp(speed,callback);
实例
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("#flip").click(function(){$("#panel").slideUp("slow");});});</script><style type="text/css">#panel,#flip{padding:5px;text-align:center;background-color:#e5eecc;border:solid 1px #c3c3c3;}#panel{padding:50px;}</style></head><body><div id="flip">点我拉起面板</div><div id="panel">Hello world!</div></body></html>
slideToggle()
这个方法可以在 slideDown() 与 slideUp() 方法之间进行切换。 语法:
$(selector).slideToggle(speed,callback);
实例
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("#flip").click(function(){$("#panel").slideToggle("slow");});});</script><style type="text/css">#panel,#flip{padding:5px;text-align:center;background-color:#e5eecc;border:solid 1px #c3c3c3;}#panel{padding:50px;display:none;}</style></head><body><div id="flip">点我,显示或隐藏面板。</div><div id="panel">Hello world!</div></body></html>
动画
允许自己创建自定义动画
animate()
创建自定义动画 语法:
$(selector).animate({params},speed,callback);
params参数必须给定,定义形成动画的CSS属性。
实例
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("button").click(function(){$("div").animate({left:'250px'});});});</script></head><body><button>开始动画</button><p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p><div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div></body></html>
操作多个属性
生成动画时,可以同时使用多个属性。
实施
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("button").click(function(){$("div").animate({left:'250px',opacity:'0.5',height:'150px',width:'150px'});});});</script></head><body><button>开始动画</button><p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。如果需要改变,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p><div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div></body></html>
使用相对值
也可以使用相对值(就是该值相当于元素的当前值)。需要在值的签名加上+=或-=
实例
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("button").click(function(){$("div").animate({left:'250px',height:'+=150px',width:'+=150px'});});});</script></head><body><button>开始动画</button><p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p><div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div></body></html>
使用预定义的值
甚至可以把属性的动画值设置为”show”,”hide”或”toggle”
实例
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("button").click(function(){$("div").animate({height:'toggle'});});});</script></head><body><button>开始动画</button><p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p><div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div></body></html>
使用队列功能
jQuery提供针对动画的队列功能 如果编写多个animate()调用,jQuery会创建包含这些方法调用的”内部”队列。然后逐一运行这些调用。
实例
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("button").click(function(){var div=$("div");div.animate({height:'300px',opacity:'0.4'},"slow");div.animate({width:'300px',opacity:'0.8'},"slow");div.animate({height:'100px',opacity:'0.4'},"slow");div.animate({width:'100px',opacity:'0.8'},"slow");});});</script></head><body><button>开始动画</button><p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p><div style="background:#98bf21;height:100px;width:100px;position:absolute;"></div></body></html>
<!DOCTYPE html><html><head><meta charset="utf-8" /><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("button").click(function () {var div = $("div");div.animate({ left: "300px" }, "slow");div.animate({ left: "+=30px" }, "slow");div.animate({ left: "+=30px" }, "fast");div.animate({ left: "+=30px" }, "fast");div.animate({ left: "+=30px" }, "slow");div.animate({ left: "+=30px" }, "fast");div.animate({ left: "+=30px" }, "fast");div.animate({ left: "+=30px" }, "slow");div.animate({ height: "300px", opacity: "0.4" }, "slow");div.animate({ width: "300px", opacity: "0.8" }, "slow");div.animate({ height: "100px", opacity: "0.4" }, "slow");div.animate({ width: "100px", opacity: "0.8" }, "slow");div.animate({ fontSize: "5em" }, "slow");});});</script></head><body><button>开始动画</button><p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或absolute!</p><divstyle="background: #98bf21;height: 100px;width: 200px;position: absolute;">HELLO</div></body></html>
停止动画
用于在动画或效果完成前对它们进行停止。
stop()
适用于所有jQuery效果函数,包括滑动,淡入淡出和自定义动画。 语法:
$(selector).stop(stopAll,goToEnd);
stopAll参数规定是否应该清除动画队列。默认为false,就是仅停止活动的动画,允许任何排入队列的动画向后执行。
goToEnd参数规定是否立即完成当前动画。默认为false,所以被选元素上的当前动画会被默认清除。
实例
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("#flip").click(function(){$("#panel").slideDown(1000);});$("#stop").click(function(){$("#panel").stop();});});</script><style type="text/css">#panel,#flip{padding:5px;text-align:center;background-color:#e5eecc;border:solid 1px #c3c3c3;}#panel{padding:50px;display:none;}</style></head><body><button id="stop">停止滑动</button><div id="flip">点我向下滑动面板</div><div id="panel">Hello world!</div></body></html>
Callback 回调函数
Callback函数在当前动画100%完成之后执行。
实例
有回调函数,隐藏效果完完全全实现后回调函数
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("button").click(function(){$("p").hide("slow",function(){alert("段落现在被隐藏了");});});});</script></head><body><button>隐藏</button><p>我们段落内容,点击“隐藏”按钮我就会消失</p></body></html>
如果没有回调函数,警告框会在隐藏效果完成前弹出
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("button").click(function(){$("p").hide(1000);alert("现在段落被隐藏了");});});</script></head><body><button>隐藏</button><p>这是一个段落,内容很少</p></body></html>
链(Chaining)
通过jQuery可以将动作或方法链接在一起。 Chainiing允许我们在一条语句中允许多个jQuery方法 这样浏览器就不需要多次查找相同的元素。
实例
这是把css(),slideUp()和slideUp链接在一起
<!DOCTYPE html><html><head><meta charset="utf-8" /><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("button").click(function () {$("#p1").css("color", "red").slideUp(2000).slideDown(2000);});});</script></head><body><p id="p1">菜鸟教程!!</p><button>点我</button></body></html>
JQuery HTML
JQuery可以操作HTML和属性
捕获
获得内容
- text()- 设置或返回所选元素的文本内容。
- html()- 设置或返回所选元素的内容(包括HTML标签)。
- val()- 设置或返回表单字段的值。
例一
通过text() 和 html() 方法获得内容
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.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>
例二
通过val() 方法获得输入字段的值
<!DOCTYPE html><html><meta charset="utf-8" /><head><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("button").click(function () {alert("值为: " + $("#test").val());});});</script></head><body><p>名称: <input type="text" id="test" value="菜鸟教程" /></p><button>显示值</button></body></html>
获取属性
- attr()
获取属性值
实例
获取链接中的href属性
<!DOCTYPE html><html><head><meta charset="utf-8" /><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("button").click(function () {alert($("#runoob").attr("href"));});});</script></head><body><p><a href="//www.4399.com" id="runoob">4399</a></p><button>显示 href 属性的值</button></body></html>
设置
设置内容
- text()- 设置或返回所选元素的文本内容。
- html()- 设置或返回所选元素的内容(包括HTML标签)。
- val()- 设置或返回表单字段的值。
实例
<!DOCTYPE html><html><head><meta charset="utf-8" /><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("#btn1").click(function () {$("#test1").text("Hello world!");});$("#btn2").click(function () {$("#test2").html("<b>Hello world!</b>").html("<p>啊这</p>");});$("#btn3").click(function () {$("#test3").val("RUNOOB");});});</script></head><body><p id="test1">这是一个段落。</p><p id="test2">这是另外一个段落。</p><p>输入框: <input type="text" id="test3" value="菜鸟教程" /></p><button id="btn1">设置文本</button><button id="btn2">设置 HTML</button><button id="btn3">设置值</button></body></html>
text()、html() 以及 val() 的回调函数
text()、html() 以及 val(),同样拥有回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
实例
<!DOCTYPE html><html><head><meta charset="utf-8" /><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("#btn1").click(function () {$("#test1").text(function (i, origText) {return ("旧文本: " + origText + " 新文本: Hello world! (index: " + i + ")");});});$("#btn2").click(function () {$("#test2").html(function (i, origText) {return ("旧 html: " +origText +" 新 html: Hello <b>world!</b> (index: " +i +")");});});});</script></head><body><p id="test1">这是一个有 <b>粗体</b> 字的段落。</p><p id="test2">这是另外一个有 <b>粗体</b> 字的段落。</p><button id="btn1">显示 新/旧 文本</button><button id="btn2">显示 新/旧 HTML</button></body></html>
设置属性 - attr()
用于设置和改变属性值。
实例
修改链接中href属性的值
<!DOCTYPE html><html><head><meta charset="utf-8" /><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("button").click(function () {$("#runoob").attr("href", "http://www.baidu.com");});});</script></head><body><p><a href="//www.4399.com" id="runoob">菜鸟教程</a></p><button>修改 href 值</button><p>点击按钮修改后,可以点击链接查看链接地址是否变化。</p></body></html>
同时修改href属性和title属性
<!DOCTYPE html><html><head><meta charset="utf-8" /><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("button").click(function () {$("#runoob").attr({href: "http://www.runoob.com/jquery",title: "jQuery 教程",});// 通过修改的 title 值来修改链接名称title = $("#runoob").attr("title");$("#runoob").html(title);});});</script></head><body><p><a href="//www.runoob.com" id="runoob">菜鸟教程</a></p><button>修改 href 和 title</button><p>点击按钮修改后,可以查看 href 和 title 是否变化。</p></body></html>
attr() 的回调函数
回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>菜鸟教程(runoob.com)</title><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("button").click(function () {$("#runoob").attr("href", function (i, origValue) {return origValue + "/jquery";});});});</script></head><body><p><a href="//www.runoob.com" id="runoob">菜鸟教程</a></p><button>修改 href 值</button><p>点击按钮修改后,可以点击链接查看 href 属性是否变化。</p></body></html>
添加元素
添加新元素内容
- append() - 在被选元素的结尾插入内容
- prepend() - 在被选元素的开头插入内容
- after() - 在被选元素之后插入内容
- before() - 在被选元素之前插入内容
append()
在被选中的元素的结尾插入内容(仍在该元素内部) 语法:
$("p").append("追加文本");
实例
<!DOCTYPE html><html><head><meta charset="utf-8" /><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("#btn1").click(function () {$("p").append(" <b>追加文本</b>。");});$("#btn2").click(function () {$("ol").append("<li>追加列表项</li>");});});</script></head><body><p>这是一个段落。</p><p>这是另外一个段落。</p><ol><li>List item 1</li><li>List item 2</li><li>List item 3</li></ol><button id="btn1">添加文本</button><button id="btn2">添加列表项</button></body></html>
prepend()
在被选中元素的开头插入内容 语法:
$("p").prepend("在开头追加文本");
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>菜鸟教程(runoob.com)</title><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("#btn1").click(function () {$("p").prepend("<b>在开头追加文本</b>。 ");});$("#btn2").click(function () {$("ol").prepend("<li>在开头添加列表项</li>");});});</script></head><body><p>这是一个段落。</p><p>这是另外一个段落。</p><ol><li>列表 1</li><li>列表 2</li><li>列表 3</li></ol><button id="btn1">添加文本</button><button id="btn2">添加列表项</button></body></html>
通过 append() 和 prepend() 方法添加若干新元素
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>菜鸟教程(runoob.com)</title><meta charset="utf-8" /><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>function appendText() {var txt1 = "<p>文本-1。</p>"; // 使用 HTML 标签创建文本var txt2 = $("<p></p>").text("文本-2。"); // 使用 jQuery 创建文本var txt3 = document.createElement("p");txt3.innerHTML = "文本-3。"; // 使用 DOM 创建文本 text with DOM$("body").append(txt1, txt2, txt3); // 追加新元素}</script></head><body><p>这是一个段落。</p><button onclick="appendText()">追加文本</button></body></html>
after()和before()方法
after()在被选元素之后插入内容 before()在被选元素之前插入内容 语法:
$("img").after("在后面添加文本");$("img").before("在前面添加文本");
实例
<!DOCTYPE html><html><head><meta charset="utf-8" /><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("#btn1").click(function () {$("img").before("<b>之前</b>");});$("#btn2").click(function () {$("img").after("<i>之后</i>");});});</script></head><body><img src="/images/logo.png" /><br /><br /><button id="btn1">之前插入</button><button id="btn2">之后插入</button></body></html>
通过 after() 和 before() 方法添加若干新元素
after() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建新元素。
实例
<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>function afterText(){var txt1="<b>I </b>"; // 使用 HTML 创建元素var txt2=$("<i></i>").text("love "); // 使用 jQuery 创建元素var txt3=document.createElement("big"); // 使用 DOM 创建元素txt3.innerHTML="jQuery!";$("img").after(txt1,txt2,txt3); // 在图片后添加文本}</script></head><body><img src="/images/logo2.png" ><br><br><button onclick="afterText()">之后插入</button></body></html>
删除元素
删除已有HTML元素
删除元素/内容
- remove() - 删除被选元素(及其子元素)
- empty() - 从被选元素中删除子元素
remove()
删除被选中的元素及其子元素
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){$("button").click(function(){$("#div1").remove();});});</script></head><body><div id="div1" style="height:100px;width:300px;border:1px solid black;background-color:yellow;">这是 div 中的一些文本。<p>这是在 div 中的一个段落。</p><p>这是在 div 中的另外一个段落。</p></div><br><button>移除div元素</button></body></html>
empty()
删除被选元素的子元素
<!DOCTYPE html><html><head><meta charset="utf-8" /><script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function () {$("button").click(function () {$("#div1").empty();});});</script></head><body><divid="div1"style="height: 100px;width: 300px;border: 1px solid black;background-color: yellow;">这是 div 中的一些文本。<p>这是在 div 中的一个段落。</p><p>这是在 div 中的另外一个段落。</p></div><br /><button>清空div元素</button></body></html>
过滤被删的元素
remove()方法可以接受一个参数,允许对被删元素进行过滤
