同胞拥有相同的父元素。
通过 jQuery,您能够在 DOM 树中遍历元素的同胞元素。
有许多有用的方法让我们在 DOM 树进行水平遍历:
siblings() 方法返回被选元素的所有同胞元素。
下面的例子返回 <h2> 的所有同胞元素:
<!DOCTYPE html> |
<html> |
<head> |
<meta charset="utf-8"> |
<style> |
.siblings * |
{ |
display: block; |
border: 2px solid lightgrey; |
color: lightgrey; |
padding: 5px; |
margin: 15px; |
} |
</style> |
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> |
</script> |
<script> |
$(document).ready(function(){ |
$("h2").siblings().css({"color":"red","border":"2px solid red"}); |
}); |
</script> |
</head> |
<body class="siblings"> |
<div>div (父元素) |
<p>p</p> |
<span>span</span> |
<h2>h2</h2> |
<h3>h3</h3> |
<p>p</p> |
</div> |
</body> |
</html> |
您也可以使用可选参数来过滤对同胞元素的搜索。
下面的例子返回属于 <h2> 的同胞元素的所有 <p> 元素:
<!DOCTYPE html> |
<html> |
<head> |
<meta charset="utf-8"> |
<style> |
.siblings * |
{ |
display: block; |
border: 2px solid lightgrey; |
color: lightgrey; |
padding: 5px; |
margin: 15px; |
} |
</style> |
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> |
</script> |
<script> |
$(document).ready(function(){ |
$("h2").siblings("p").css({"color":"red","border":"2px solid red"}); |
}); |
</script> |
</head> |
<body class="siblings"> |
<div>div (父元素) |
<p>p</p> |
<span>span</span> |
<h2>h2</h2> |
<h3>h3</h3> |
<p>p</p> |
</div> |
</body> |
</html> |
next() 方法返回被选元素的下一个同胞元素。
该方法只返回一个元素。
下面的例子返回 <h2> 的下一个同胞元素:
<!DOCTYPE html> |
<html> |
<head> |
<meta charset="utf-8"> |
<style> |
.siblings * |
{ |
display: block; |
border: 2px solid lightgrey; |
color: lightgrey; |
padding: 5px; |
margin: 15px; |
} |
</style> |
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> |
</script> |
<script> |
$(document).ready(function(){ |
$("h2").next().css({"color":"red","border":"2px solid red"}); |
}); |
</script> |
</head> |
<body class="siblings"> |
<div>div (父元素) |
<p>p</p> |
<span>span</span> |
<h2>h2</h2> |
<h3>h3</h3> |
<p>p</p> |
</div> |
</body> |
</html> |
nextAll() 方法返回被选元素的所有跟随的同胞元素。
下面的例子返回 <h2> 的所有跟随的同胞元素:
$(document).ready(function(){ |
$("h2").nextAll(); |
}); |
nextUntil() 方法返回介于两个给定参数之间的所有跟随的同胞元素。
下面的例子返回介于 <h2> 与 <h6> 元素之间的所有同胞元素:
<!DOCTYPE html> |
<html> |
<head> |
<meta charset="utf-8"> |
<style> |
.siblings * |
{ |
display: block; |
border: 2px solid lightgrey; |
color: lightgrey; |
padding: 5px; |
margin: 15px; |
} |
</style> |
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> |
</script> |
<script> |
$(document).ready(function(){ |
$("h2").nextUntil("h6").css({"color":"red","border":"2px solid red"}); |
}); |
</script> |
</head> |
<body class="siblings"> |
<div>div (父元素) |
<p>p</p> |
<span>span</span> |
<h2>h2</h2> |
<h3>h3</h3> |
<h4>h4</h4> |
<h5>h5</h5> |
<h6>h6</h6> |
<p>p</p> |
</div> |
</body> |
</html> |
prev(), prevAll() 以及 prevUntil() 方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同胞元素(在 DOM 树中沿着同胞元素向后遍历,而不是向前)。