jquery里面的DOM操作之访问节点
1.父级访问:parent(),parents(),parentUntil(),closest()
1.parent():获得当前匹配元素集合中每个元素的父元素
<body>
<div>
<p>Hello</p>
</div>
<div class="selected">
<p>你好</p>
<p>你好</p>
<p>你好</p>
</div>
<script>
$("p").parent(".selected").css("background", "red");
</script>
</body>
2.parents():获得当前匹配元素所有父元素(从父元素开始) 。另外parents(“想要执行的父级”)
$(".lajilou").on("click",function(){
$(this).parents(".choice-price-ul-position").hide();
});
当前点击对象所有父元素中类名为choice-price-ul-position的父元素进行隐藏
3.parentsUntil(".a"):获得当前匹配元素集合中每个元素的祖先元素,直到(但不包括)被选择器、DOM 节 点或 jQuery 对象匹配的元素
字面意思就可以理解,找当前匹配元素父级直到类a结束,之间所有类样式相同
4.closest():获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上,与parent()相似。
与parents()比较:
closest():沿 DOM 树向上遍历,直到找到已应用选择器的一个匹配为止;
parents():直到文档的根元素为止
<h1 class="h">hhhhhh</h1>
<ul class="list">
<li class="li">111111</li>
<li>111111</li>
<li>111111</li>
<li>111111</li>
</ul>
<ul class="list">
<li>111111</li>
<li>111111</li>
<li>111111</li>
<li>111111</li>
</ul>
<p>hhhhhh</p>
</div>
<script type="text/javascript">
jQuery(function(){
$(".h").on("click",function(){
//parent()直接父节点
$(this).parent().css({"background":"red","border":"5px solid yellow"})
// parents()获取所有的祖先元素
$(this).parents().css({"background":"red","border":"5px solid yellow"})
// siblings与点击对象同级的所有ul颜色为白色
$(this).siblings("ul").css({"color":"#fff"});
// 与点击对象同级的所有ul里面所有的子元素li
$(this).siblings("ul").children("li").css({"color":"#fff","font-size":"50px"});
//find(*)
$(this).siblings("ul").find("li").css({"color":"#fff","font-size":"50px"});
//与点击对象同级的,所有在点击对象后面的元素都显示aaaa
$(this).nextAll().html("<h1>aaaa</h1>");
$(this).next().children().first().html("2222");
//点击对象后紧挨着对象的第一个对象 除了类名为li以外的节点全都变成3333
$(this).next().children().not(".li").html(3333);
$(this).closest("body").css({"background":"blue"});
});
})
</script>