1.文本文档准备
2. hide 隐藏 show 显示 toggle 切换
// hide 隐藏 show 显示 toggle 切换
//$(selector).hide(speed,callback);
//$(selector).show(speed,callback);
//$(selector).toggle(speed,callback);
// 可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
// 可选的 callback 参数是隐藏或显示完成后所执行的函数名称。
<div>显示与隐藏测试</div>
<button class="btn1">显示</button>
<button class="btn2">隐藏</button>
<button class="btn3">切换</button>
<script src="./jquery.js"></script>
<script>
// hide 隐藏 show 显示 toggle 切换
//$(selector).hide(speed,callback);
//$(selector).show(speed,callback);
//$(selector).toggle(speed,callback);
// 可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
// 可选的 callback 参数是隐藏或显示完成后所执行的函数名称。
$(".btn1").click(function(){
console.log("1")
$('div').show(1000,function(){
setTimeout(function(){
console.log('10000执行函数')
},2000)
});
})
$('.btn2').click(function(){
$('div').hide();
})
$('.btn3').click(function(){
$('div').toggle();
})
3. 淡入淡出
// fadeIn() 用于淡入已隐藏的元素。
// fadeOut() 用于淡出可见元素。
// fadeToggle() 可以在 fadeIn() 与 fadeOut() 方法之间进行切换。
// fadeTo() 方法允许渐变为给定的不透明度(值介于 0 与 1 之间)。
//$(selector).fadeIn(speed,callback);
//$(selector).fadeOut(speed,callback);
//$(selector).fadeToggle(speed,callback);
//$(selector).fadeTo(speed,opacity,callback);
// 必需的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
// 可选的 callback 参数是该函数完成后所执行的函数名称。
// fadeTo() 方法中必需的 opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。
4.滑动
//$(selector).slideDown(speed,callback); 用于向下滑动元素。
//$(selector).slideUp(speed,callback);用于向上滑动元素。
//$(selector).slideToggle(speed,callback);可以在 slideDown() 与 slideUp() 方法之间进行切换。
5.动画
//animate() 方法用于创建自定义动画。
//$(selector).animate({params},speed,callback);
//动画操纵多个属性
//使用相对值 += -= 等
//使用预定值 toggle
// 使用队列功能 :这意味着如果您在彼此之后编写多个 animate() 调用,jQuery 会创建包含这些方法调用的"内部"队列。然后逐一运行这些 animate 调用。
$(".btn1").click(function () {
$('div').animate({
left: '+=250px',
opacity: '0.5',
height: 'toggle',
width: '+=150px'
}, 2000)
})
$(".btn2").click(function () {
$('div').animate({ height:'250px',opacity:'0.4'},1000)
$('div').animate({ opacity:'0.8',width:'250px'},1000)
$('div').animate({ height:'150px',opacity:'0.4',},1000)
$('div').animate({ width:'150px',opacity:'0.8'},1000)
})
</script
6.css样式操作
//返回指定的 CSS 属性的值 $("p").css("background-color");
//设置指定的 CSS 属性 $("p").css("background-color","yellow");
//设置多个 CSS 属性 $("p").css({"background-color":"yellow","font-size":"200%"});
7.设置元素
// text() - 设置或返回所选元素的文本内容 $("#test1").text("Hello world!");
// html() - 设置或返回所选元素的内容(包括 HTML 标记)
// val() - 设置或返回表单字段的值
//attr() 方法也允许您同时设置多个属性。
// text()、html() 以及 val(),同样拥有回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
i表示当前元素在父元素中所有i元素中的坐标
$("#test1").text(function (i, origText) {
return "旧文本: " + origText + " 新文本: Hello world! (index: " + i + ")";
});
$(document).ready(function () {
$("#btn1").click(function () {
console.log($("#test1").text())//这是一个段落
$("#test1").text("Hello world!");
});
$("#btn4").click(function () {
$("#test1").attr({
title:'你好',
})
});
$("#btn2").click(function () {
$("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function () {
$("#test3").val("RUNOOB");
});
});
<script>
$(document).ready(function () {
$("#btn1").click(function () {
$("ul p").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 >这是一个有 <b>粗体</b> 字的段落。</p>
<p >这是另外一个有 <b>粗体</b> 字的段落。</p>
<ul>
<p >这是一个有 <b>粗体</b> 字的段落。</p>
<button></button>
<p >这是另外一个有 <b>粗体</b> 字的段落。</p>
</ul>
<button id="btn1">显示 新/旧 文本</button>
<button id="btn2">显示 新/旧 HTML</button>
8.设置属性
attr() 方法也允许您同时设置多个属性。
"title": "jQuery 教程" 设置属性值
$("#runoob").attr('title','你好'); 设置属性值
$("#runoob").attr('title');获取属性值
<p><a href="//www.runoob.com" id="runoob">菜鸟教程</a></p>
<button>修改 href 和 title</button>
<p>点击按钮修改后,可以查看 href 和 title 是否变化。</p>
<script src="./jquery.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>
9.添加子元素
// append() - 结尾添加子元素 可添加 text也可添加HTML
// prepend() - 开头添加子元素 可添加 text也可添加HTML
//append() 和 prepend() 方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML
$(".btn1").click(function(){
$(".li1").append("你好")
$('.li1').append("<p>添加HTML列表</p>")
})
$(".btn2").click(function(){
console.log(1)
console.log($("li")[1])
$($("li")[1]).prepend("prepend你好")
$($("li")[1]).prepend("<p>prenpend添加HTML列表</p>")
})
10.添加同级别的元素
// after() - 在被选元素之后插入内容
// before() - 在被选元素之前插入内容
//after() 和 before() 方法添加若干新元素
$("body").after(txt1,txt2,txt3); // 追加新元素
$(".btn1").click(function(){
$(".li1").append("你好")
$('.li1').append("<p>添加HTML列表</p>")
})
$(".btn2").click(function(){
console.log(1)
console.log($("li")[1])
$($("li")[1]).prepend("prepend你好")
$($("li")[1]).prepend("<p>prenpend添加HTML列表</p>")
})
11.删除元素
// remove() - 删除被选元素(及其子元素)
// empty() - 从被选元素中删除子元素
//remove() 方法也可接受一个参数,允许您对被删元素进行过滤。
//删除 class="italic" 的所有 <p> 元素:
$(".btn3").click(function () {
$("p").remove(".italic");
});
// remove() - 删除被选元素(及其子元素)
// empty() - 从被选元素中删除子元素
$(".btn1").click(function () {
$("#div1").remove();
});
$(".btn2").click(function () {
$("#div1").empty();
});
//remove() 方法也可接受一个参数,允许您对被删元素进行过滤。
//删除 class="italic" 的所有 <p> 元素:
$(".btn3").click(function () {
$("p").remove(".italic");
});
12 class操作
// $("div").addClass("base") 增加class
// $("div").addClass("red base")
// $("div").removeClass("base red") 删除 class
$("div").toggleClass("base red") //有则产出class 没有则创建class
// classList.add remove toggle
获取className $("div").attr('class')
13.获取宽度高度
console.log($("div").width())//width
console.log($("div").innerWidth())//width+padding
console.log($("div").outerWidth())//width+padding+border
console.log($("div").outerWidth(true))//width++padding+border+margin
14.遍历祖先 后代 同胞
14.1 遍历祖先
// parent() 返回被选元素的直接父元素。
// parents() 返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>)
//$("span").parents("ul"); 返回所有 <span> 元素的所有祖先,并且它是 <ul> 元素:
// parentsUntil() 返回介于两个给定元素之间的所有祖先元素。
//$("span").parentsUntil("div"); 返回介于 <span> 与 <div> 元素之间的所有祖先元素:
14.2 遍历后代
//children() 方法返回被选元素的所有直接子元素。
//children('elem')
// $("div").children("p.1"); 返回类名为 "1" 的所有 <p> 元素,并且它们是 <div> 的直接子元素
//find('elem')
//$("div").find("span");返回属于 <div> 后代的所有 <span> 元素
//$("div").find("*");返回 <div> 的所有后代
14.3 遍历同胞
//siblings() siblings('elem')方法返回被选元素的所有同胞元素
//next() 方法返回被选元素的下一个同胞元素。
//nextAll() 方法返回被选元素的所有跟随的同胞元素。
//nextUntil() 方法返回介于两个给定参数之间的所有跟随的同胞元素。
//$("h2").nextUntil("h6"); 返回介于 <h2> 与 <h6> 元素之间的所有同胞元素
//prev(), prevAll() prevUntil() 方法 向上同理
14.4 遍历祖先 后代 同胞 练习
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>
<p>
<span>你好1</span>
<span>你好2</span>
</p>
</div>
<ul>
<span>0</span>
<li>1
<span>span1</span>
</li>
<li>2</li>
<li>3</li>
<li class="myli">4</li>
<li>5</li>
<li>6
<span>span6</span>
</li>
<li>7</li>
<li>8
<span>span8</span>
</li>
<p>123</p>
</ul>
<script src="./jquery.js"></script>
<script>
//祖先
console.log($('p span').parent())//p
console.log($('p span').parents())//p div body html
console.log($('p span').parents('div'))//div
console.log($('p span').parentsUntil('div'))//p
//后代
console.log($('ul').children())//所有ul的直接子元素
console.log($('ul').find('span'))
console.log($('ul').find('*'))
//兄弟
console.log($('ul li.myli').siblings())//所有的兄弟
console.log($('ul li.myli').next())//下一个兄弟
console.log($('ul li.myli').nextAll())//下面所有的兄弟
console.log($('ul li.myli').nextUntil('span'))//当前下面到span之间的所有元素
console.log($('ul li.myli').prev())//上一个兄弟
console.log($('ul li.myli').prevAll())//上面所有的兄弟
console.log($('ul li.myli').preveUntil('span'))//当前上面到span之间的所有元素
</script>
</body>
</html>
15过滤
//first() 方法返回被选元素的首个元素。 $("div p").first();
//last() 方法返回被选元素的最后一个元素。$("div p").last();
//eq(index) 方法返回被选元素中带有指定索引号的元素 索引号从 0 开始
$("p").eq(1);
//filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。
//$("p").filter(".url");带有类名 "url" 的所有 <p> 元素:
//not() 方法返回不匹配标准的所有元素。not() 方法与 filter() 相反。
16 each方法
//each() 方法为每个匹配元素规定要运行的函数。
//$(selector).each(function(index,element))
each