一.jQuery的筛选
1.1 过滤
first() | 获取匹配的第一个元素 |
last() | 获取匹配的最后一个元素 |
eq(N) | 获取匹配的第N或N个元素 |
filter() | 筛选出与指定表达式匹配的元素集合 |
has() | 筛选出包含特定特点的元素集合 |
not() | 筛选出不包含特定特点的元素集合 |
过滤的使用(代码仅供参考)
//--过滤出指定表达式匹配的元素
// 获取ul中所有的li元素,然后找到第一个元素
$("ul>li:first").css("backgroud", "pinl");
$("ul>li").first().css("background", "pink");// 找到最后一个元素
$("ul>li").first().css("background", "pink");
// 找到指定的某一个元素,例如第3个
$("ul>li").eq(2).css("background", "pink");
$("ul>li:eq(-2)").css("background", "pink");//--过滤出指定表达式匹配的元素集合
// 找到属性title为a的元素
$("ul>li").filter("[title][title=a]").css("background", "pink");// 筛选出有title属性的元素集合
$("ul>li").filter("[title]").css("background", "pink");// 筛选出有<span>标签的元素集合
$("ul>li").has("span").css("background", "pink");// 筛选出没有title属性的元素集合
$("ul>li").not("[title]").css("background", "pink");
<body>
<h2>补充知识点:位置</h2>
<div id="aa">
<div id="bb"></div>
</div>
<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.2 查找
children() | 查找子标签 |
find() | 查找后代 |
parent() | 父标签 |
prevAll() | 前面所有的兄弟 |
nextAll() | 后面所有的兄弟 |
siblings() | 前后面所有的兄弟 |
查找的使用 (代码展示仅供参考)
// 查找ul的所有子标签,并且指定为li子标签
$("ul").children("li").css("background", "pink");
// 查找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标签后面所有的兄弟标签,并且只能是li标签
$("ul>li").eq(2).nextAll().css("background", "pink");
// 查找第三个li标签所有的兄弟标签
$("ul>li").eq(2).siblings().css("background", "pink");
<body>
<div id="aa">
<div id="bb"></div>
</div>
<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>
二.文档处理
2. 内部插入&外部插入&删除&修改
append() | 将内容添加到指定的元素后面 |
appendTo() | 和append()颠倒 |
prepend() | 将内容添加到指定的元素前面 |
prependTo() | 和prepend()颠倒 |
after() | 在匹配元素之后插入内容 |
before() | 在匹配元素之前插入内容 |
empty() | 删除匹配元素集合中所有的子节点(不包含匹配元素) |
remove() | 删除匹配元素集合中所有的子节点(包含匹配元素) |
replaceWith() | 将所有匹配的元素替换成指定的内容 |
//--内部插入(前面和后面)
// 插入到最后面(给ul中最后一个li中插入一个a标签)
$("ul>li:last").append("<a href='#'>大炮</a>")
$("<a href='#'>大炮</a>").appendTo();
// 插入到最前面(给ul中第一个li中插入一个a标签)
$("ul>li:last").prepend("<a href='#'>大炮</a>")
$("<a href='#'>大炮</a>").prependTo();//--外部插入(之前和之后)
// 在属性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>");//2.2 改
//把li下面所有的span标签替换为<a>标签
$("li span").replaceWith("<a href='#'>大炮</a>");
//2.3 删
//清空ul中所有li的内容
$("ul li").empty();
//移除ul中所有的li
$("ul li").remove();
<body>
<div id="aa">
<div id="bb"></div>
</div>
<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>
补充知识点:位置
(代码块展示)
<style type="text/css">
#aa {
width: 200px;
height: 200px;
background-color: red;
position: absolute;
top: 50px;
left: 50px;
}
#bb {
width: 100px;
height: 100px;
background-color: yellow;
position: absolute;
top: 50px;
left: 50px;
}
</style>
<script>
var a = $("#aa").offset();
console.info(a.top, a.left);
var b = $("#aa").position();
console.info(b.top, b.left);
</script>
<body>
<h2>补充知识点:位置</h2>
<div id="aa">
<div id="bb"></div>
</div>
</body>