1.父子关系
1.1. children()方法
遍历查找此元素的所有子元素节点
<div id="div1">
<p class="p1">你好</p>
<div id="div2"><span id="span1">你好</span></div>
</div>
<script type="text/javascript">
console.log($('#div1').children())//1.p#p1 2.div#div2
console.log($('#div1').children('.p'))//1.p#p1
</script>
1.2. parent()方法
返回包含此元素的唯一父节点的元素集合
<div id="div1">
<p class="p1">你好</p>
<div id="div2"><span id="span1">你好</span></div>
</div>
<script type="text/javascript">
console.log($('#span1').parent());//1.div#div2
</script>
相关方法
1.2.1. parents()方法
返回包含此元素的所有祖先节点
<div id="div1">
<p class="p1">你好</p>
<div id="div2"><span id="span1">你好</span></div>
</div>
<script type="text/javascript">
console.log($('#span1').parents());//1.div#div2 2. div#div1 3.body 4.html
console.log($('#span1').parents('div')); //1.div#div2 2.div#div1
</script>
1.2.2. parentsUntil(‘element’)方法
查找此元素的祖先级元素直到 element 为止,但不包括element
<div id="div1">
<p class="p1">你好</p>
<div id="div2"><span id="span1">你好</span></div>
</div>
<script type="text/javascript">
console.log($('#span1').parentsUntil('div')); //1.div#div2
</script>
1.3.find()方法
获取此元素的所有后代,并筛选
<div id="div1">
<p id="p1">你好</p>
<div id="div2">
<span id="span1">你好</span>
<p id="p2">你好</p>
</div>
</div>
<script type="text/javascript">
console.log($('#div1').find("p"));1.p#p1 2.p#p2
</script>
1.4.offsetParent()方法
获得用于定位的第一个父元素。如果父元素中没有用于定位,则会返回<html>
元素
<div>
<div id="div1" style="position: absolute;">
<p id="p1">你好</p>
<div id="div2" style="position: absolute;">
<span id="span1">你好</span>
<p id="p2">你好</p>
</div>
</div>
</div>
<script type="text/javascript">
console.log($('#p2').offsetParent());//1.div#div2
console.log($('#div1').offsetParent());//1.html
</script>
1.5.closest()方法
从元素本身开始,逐级向上级元素匹配,并返回最先符合匹配的祖先元素。
<div id="div1">
<p id="p1">你好</p>
<div id="div2">
<span id="span1">你好</span>
<p id="p2">你好</p>
</div>
</div>
<script type="text/javascript">
console.log($('#p2').closest("div"));//1.div#div2
</script>
1.6.contents()方法
获得匹配元素集合中每个元素的子节点,包括文本和注释节点。
<div id="div1">
<p id="p1">你好</p>
<div id="div2">
<span id="span1">你好</span>
<!-- <p id="p2">你好</p> -->
</div>
</div>
<script type="text/javascript">
console.log($('#div1').contents());//1.text 2.comment 3.text 4.div#div2 5.text
console.log($('#div1').contents("div"));//1.div#div2
</script>
2.同级关系
2.1.next()方法
获得此元素同级的下一个元素
<div id="div1">
<p id="p1">你好</p>
<div id="div2">
<span id="span1">你好</span>
<!-- <p id="p2">你好</p> -->
</div>
</div>
<script type="text/javascript">
console.log($('#p1').next());//1.div#div2
</script>
相关方法
2.1.1.nextAll()方法
获得此元素同级的后面的所有元素
<div id="div1">
<p id="p1">你好</p>
<span id="span1">你好</span>
<p id="p2">你好</p>
</div>
<script type="text/javascript">
console.log($('#p1').nextAll());//1.span#span1 2.p#p2
console.log($('#p1').nextAll("p"));//1.p#p2
</script>
2.1.2.nextUntil('element)方法
获得此元素同级的后面的所有元素,直到符合匹配为止,但不包括element
<div id="div1">
<p id="p1">你好</p>
<span id="span1">你好</span>
<p id="p2">你好</p>
<p id="p3">你好</p>
</div>
<script type="text/javascript">
console.log($('#p1').nextUntil("#p3"));//1.span#span1 2.p#p2
</script>
2.2.siblings()方法
获得此元素同级的所有元素
<div id="div1">
<p id="p1">你好</p>
<span id="span1">你好</span>
<p id="p2">你好</p>
<p id="p3">你好</p>
</div>
<script type="text/javascript">
console.log($('#p2').siblings());//1.p#p1 2.span#span1 3.p#p3
console.log($('#p2').siblings("p"));//1.p#p1 2.p#p3
</script>
2.3.prev()方法
获得此元素同级的上一个元素
<div id="div1">
<p id="p1">你好</p>
<span id="span1">你好</span>
<p id="p2">你好</p>
<p id="p3">你好</p>
</div>
<script type="text/javascript">
console.log($('#p2').prev());//1.span#span1
</script>
相关方法
2.3.1.prevAll()方法
获得此元素同级的前面的所有元素
<div id="div1">
<p id="p1">你好</p>
<span id="span1">你好</span>
<p id="p2">你好</p>
</div>
<script type="text/javascript">
console.log($('#p2').prevAll());//1.span#span1 2.p#p1
console.log($('#p2').prevAll("p"));//1.p#p1
</script>
2.3.2.prevUntil('element)方法
获得此元素同级的前面的所有元素,直到符合匹配为止,但不包括element
<div id="div1">
<p id="p1">你好</p>
<span id="span1">你好</span>
<p id="p2">你好</p>
<p id="p3">你好</p>
</div>
<script type="text/javascript">
console.log($('#p3').prevUntil("#p1"));//1.p#p2 2.span#span1
</script>
3.按条件筛选
3.1.eq()方法
按索引值筛选p元素(索引下标从0开始)
<div id="div1">
<p id="p1">你好</p>
<span id="span1">你好</span>
<p id="p2">你好</p>
<p id="p3">你好</p>
</div>
<script type="text/javascript">
console.log($('p').eq(1));//1.p#p2
</script>
3.2.first()方法
获取第一个p元素
<div id="div1">
<p id="p1">你好</p>
<span id="span1">你好</span>
<p id="p2">你好</p>
<p id="p3">你好</p>
</div>
<script type="text/javascript">
console.log($('p').first());//1.p#p1
</script>
3.2.last()方法
获取最后一个p元素
<div id="div1">
<p id="p1">你好</p>
<span id="span1">你好</span>
<p id="p2">你好</p>
<p id="p3">你好</p>
</div>
<script type="text/javascript">
console.log($('p').last());//1.p#p3
</script>
3.3.filter()方法
获取p标签中符合条件的元素
<div id="div1">
<p id="p1">你好</p>
<span id="span1">你好</span>
<p id="p2">你好</p>
<p id="p3">你好</p>
</div>
<script type="text/javascript">
console.log($('p').filter("#p2"));//1.p#p2
</script>
3.4.has()方法
查找含包有span元素的div元素
<div id="div1">
<span id="span1">你好</span>
</div>
<div id="div2">
<p id="p1">你好</p>
</div>
<script type="text/javascript">
console.log($('div').has('span'));//1.div#div1
</script>
3.5.not()方法
查找不包含有span元素的div元素
<div id="div1">
<span id="span1">你好</span>
</div>
<div id="div2">
<p id="p1">你好</p>
</div>
<script type="text/javascript">
console.log($('div').has('span'));//1.div#div2
</script>
3.6.slice(selector,end)方法
选取从selector到end这个范围的p元素,不包含第end个元素
<p id="p1">你好</p>
<p id="p2">你好</p>
<p id="p3">你好</p>
<script type="text/javascript">
console.log($("p").slice(0, 2));//1.p#p1 2.p#p2
</script>
3.7.is()方法
根据选择器、元素或 jQuery 对象来检测匹配元素集合,如果这些元素中至少有一个元素匹配给定的参数,则返回 true。
<p id="p1">你好</p>
<p id="p2">你好</p>
<p id="p3">你好</p>
<script type="text/javascript">
console.log($("#p1").is("p"));//true
</script>
3.8.end()方法
结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态。
<p>
<span>你好</span>
</p>
<script type="text/javascript">
console.log($("p").find("span").end());//1.p
console.log($("p").find("span"));//1.span
</script>