• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

jquery可以获取父元素吗?

jquery 搞代码 4年前 (2021-12-27) 30次浏览 已收录 0个评论

jquery获取父元素方法比较多,比如parent(),parents(),closest()这些都能帮你实现查找父元素或节点,下面我们来一一讲解。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

parent()

parent() 方法返回被选元素的直接父元素。

示例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.ancestors *{ 
	displ<b style="color:transparent">来源gao@!dai!ma.com搞$$代^@码网</b>ay: block;
	border: 2px solid lightgrey;
	color: lightgrey;
	padding: 5px;
	margin: 15px;
}
</style>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
	  $("span").parent("li").css({"color":"red","border":"2px solid red"});
});
</script>
</head>

<body class="ancestors">body (曾曾祖父节点)
	<div style="width:500px;">div (曾祖父节点)
		<ul>ul (祖父节点)  
			<li>li (直接父节点)
				<span>span</span>
			</li>
			<li>li (直接父节点)
				<span>span</span>
			</li>
		</ul>   
	</div>
</body>

</html>

parents()

parents() 方法不仅返回父元素,还返回被选元素的所有祖先元素。

如果将标记指定为参数,则获取与该参数匹配的所有元素。

示例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.ancestors *{ 
	display: block;
	border: 2px solid lightgrey;
	color: lightgrey;
	padding: 5px;
	margin: 15px;
}
</style>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
	$("span").parents().css({"color":"red","border":"2px solid red"});
});
</script>
</head>

<body class="ancestors">body (曾曾祖父节点)
	<div style="width:500px;">div (曾祖父节点)
		<ul>ul (祖父节点)  
			<li>li (直接父节点)
				<span>span</span>
			</li>
		</ul>   
	</div>
</body>

<!-- body元素之前的外部红色的边框,是html元素(也是一个祖先节点)。-->
</html>

closest()

closest() 方法返回被选元素的第一个祖先元素。

如果要将特定样式应用于某个父元素可以使用closest()。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
	</head>
<body style="text-align:center;"> 
    <p style= "font-size: 17px; font-weight: bold;">点击按钮,查看结果</p> 
      
    <div class="parent"> 
        <div class="child"></div> 
    </div> 
      
    <button>点击</button> 
      
    <p id="DOWN" style="color: green; font-size: 24px; font-weight: bold;"> </p> 
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script> 
        $('button').on('click', function() { 
            var object = $('.child').closest('.parent'); 
              
            if (object.length) { 
                $('#DOWN').text("className = '.child'" + ",parentName = '.parent'"); 
            }  
            else { 
                $('#DOWN').text("不存在父类"); 
            } 
        }); 
    </script> 
</body> 
  
</html>

closest和parents的主要区别是:

parents()

  • 从父元素开始

  • 沿 DOM 树向上遍历,并返回匹配所传递的表达式的所有祖先

  • 返回包含零个、一个或多个元素的 jQuery 对象

closest()

  • 从当前元素开始

  • 沿 DOM 树向上遍历,并返回匹配所传递的表达式的第一个祖先

  • 返回包含零个或一个元素的 jQuery 对象

更多web前端开发知识,请查阅 搞代码网 !!

以上就是jquery可以获取父元素吗?的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:jquery可以获取父元素吗?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址