目录
查找 在jQuery对象数组中,根据选择器查找孩子、父母、兄弟标签
一.筛选
过滤 在jQuery对象数组中,过滤出一部分元素来
- first():获取匹配的第一个元素
- last():获得匹配的最后一个元素
- eq(N):获取匹配的第N或-N个元素
- filter(selector):筛选出与指定表达式匹配的元素集合
- has(selector):筛选出包含特定特点的元素的集合
- not(selector):筛选出不包含特定特点的元素的集合
案例1:演示过滤所有的方法
$(function () {
/* 一、 在jQuery对象数组中,筛选出一部分元素 */
//1.1 过滤
//--过滤出指定表达式匹配的元素
// 获取ul中所有的li元素,然后找到第一个元素
// $("ul li:first").css("background","pink");
// $("ul>li").first().css("background","pink");
// 找到最后一个元素
// $("ul li:last").css("background","pink");
// $("ul>li").last().css("background","pink");
// 找到指定的某一个元素,例如第3个
// $("ul>li:eq(2)").css("background","pink");
// $("ul>li:eq(-2)").css("background","pink");
// $("ul>li").eq(2).css("background","pink");
//--过滤出指定表达式匹配的元素集合
// 筛选出有title属性的元素集合 []
// $("ul>li").filter("[title]").css("background","pink");
// 找到属性title为a的元素
// $("ul>li").filter("[title=a]").css("background","pink");
// 找到属性title不为a的元素
// $("ul>li").filter("[title][title!=a]").css("background","pink");
// 筛选出有<span>标签的元素集合
// $("ul>li").has("span").css("background","pink");
// 筛选出没有title属性的元素集合
// $("ul>li").not("[title]").css("background","pink");
<body>
<h2>jQuery03:筛选、文档处理</h2>
<!-- 筛选和查找案例 -->
<ul>
<li>1</li>
<li title="a">2</li>
<li title="b">3</li>
<li title="a"><span><b>4</b></span></li>
<li title="b"><span>5</span></li>
<ol>
<li>6</li>
<li>7</li>
</ol>
<span>8</span>
</ul>
</body>
})
查找 在jQuery对象数组中,根据选择器查找孩子、父母、兄弟标签
- children():子标签中找
- find():后代标签中找
- parent():父标签
- prevAll():前面所有的兄弟标签
- nextAll():后面所有的兄弟标签
- siblings():前后所有的兄弟标签
案例2:演示查找所有的方法
$(function(){
//1.2 查找
// 查找ul的所有子标签,并且指定为li子标签
// $("ul>li").css("background","pink");
// $("ul").children("li").css("background","red");
// 查找ul下面所有的span标签
// $("ul span").css("background","pink");
// $("ul").find("span").css("background","pink");
// 查找b标签的父元素标签
// $("b").parent().css("background","pink");
// 查找第三个li标签前面所有的兄弟标签
// $("ul li").eq(2).prevAll().css("background","pink");
// $("li:eq(2)").css("background","pink");
// 查找第三个li标签后面所有的兄弟标签,并且只能是li标签
// $("ul li").eq(2).nextAll("li").css("background","pink");
// 查找第三个li标签所有的兄弟标签
// $("ul li").eq(2).siblings().css("background","pink");
<body>
<h2>jQuery03:筛选、文档处理</h2>
<!-- 筛选和查找案例 -->
<ul>
<li>1</li>
<li title="a">2</li>
<li title="b">3</li>
<li title="a"><span><b>4</b></span></li>
<li title="b"><span>5</span></li>
<ol>
<li>6</li>
<li>7</li>
</ol>
<span>8</span>
</ul>
</body>
})
二.文档处理
一.增
1.1 内部插入 1~2 后面 3~4 前面
- append():将内容添加到指定的元素后面
- appendTo():和append()颠倒
- prepend():将内容添加到指定元素前面
- prependTo():和prepend()颠倒
1.2 外部插入
- after():在匹配元素之后插入内容
- before():在匹配元素之前插入内容
案例3:演示文档处理-增加
$(function(){
//2.1 增
//--内部插入(前面和后面) 做为自己的子代/儿子 append(小儿子) prepend(大儿子)
// 插入到最后面(给ul中最后一个li中插入一个a标签)
// $("ul>li:last").append("<a href='http://www.baidu.com'>百度<a/>");
// $("<a href='http://www.baidu.com'>百度<a/>").appendTo($("ul>li:last"));
// 插入到最前面(给ul中第一个li中插入一个a标签)
// $("ul>li:first").prepend("<a href='http://www.baidu.com'>百度<a/>")
//--外部插入(之前和之后) before(哥哥) after(弟弟)
// 在属性title为b的li前面插入一个a标签
// $("ul>li").filter("[title=b]").before("<a href=#>哈哈哈<a/>")
// 在属性title为b的li后面插入一个a标签
// $("ul>li").filter("[title=b]").after("<a href=#>哈哈哈<a/>")
<body>
<h2>jQuery03:筛选、文档处理</h2>
<!-- 筛选和查找案例 -->
<ul>
<li>1</li>
<li title="a">2</li>
<li title="b">3</li>
<li title="a"><span><b>4</b></span></li>
<li title="b"><span>5</span></li>
<ol>
<li>6</li>
<li>7</li>
</ol>
<span>8</span>
</ul>
</body>
})
二.删
- empty():删除匹配的元素集合中所有的子节点(不包含匹配的元素)
- remove():删除匹配的元素集合中所有的子节点(包含匹配的元素)
案例4:演示文档处理-删除
$(function(){
//2.3 删
//清空ul中所有li的内容 清空文本
// $("ul li").empty();
//移除ul中所有的li 指定标签
// $("ul li").remove();
<body>
<h2>jQuery03:筛选、文档处理</h2>
<!-- 筛选和查找案例 -->
<ul>
<li>1</li>
<li title="a">2</li>
<li title="b">3</li>
<li title="a"><span><b>4</b></span></li>
<li title="b"><span>5</span></li>
<ol>
<li>6</li>
<li>7</li>
</ol>
<span>8</span>
</ul>
</body>
})
三.改
- replaceWith():将所有匹配的元素替换成指定的内容
案例5:演示文档处理-修改
$(function(){
//2.3 删
//清空ul中所有li的内容 清空文本
// $("ul li").empty();
<body>
<h2>jQuery03:筛选、文档处理</h2>
<!-- 筛选和查找案例 -->
<ul>
<li>1</li>
<li title="a">2</li>
<li title="b">3</li>
<li title="a"><span><b>4</b></span></li>
<li title="b"><span>5</span></li>
<ol>
<li>6</li>
<li>7</li>
</ol>
<span>8</span>
</ul>
</body>
})
三.CSS位置
- offset():相对整个大容器的相对位置
- position():相对父容器的相对位置
案例6:大Div中嵌套小Div,求两个div相对位置
$(function(){
//位置
//大容器和父容器的距离
// let a = $("#aa").offset(); //大容器
// console.info(a.left,a.top);
// let a = $("#aa").position(); //父容器
// console.info(a.left,a.top);
// let a = $("#bb").offset(); //大容器
// console.info(a.left,a.top);
// let b = $("#bb").position(); //父容器
// console.info(b.left,b.top);
})
<body>
<h3>位置</h3>
<div id="aa">
<div id="bb"></div>
</div>
</html>
scrollXX
scrollTop():滚动条到顶部距离
案例7:滚动条位置
$(function(){
// 获取滚动条位置 返回顶部案例
$("#btn").click(function () {
//获取滚动条距离上面的距离
// let a = $("body,html").scrollTop();//拿值
// alert (a);
//设置值 返回顶部
$("body,html").scrollTop(0);
})
});
})
<body>
<!-- <input type="button" value="获取滚动条的距离" id="btn" /> -->
<input type="button" value="返回顶部" id="btn" />
</body>