$('.div').children(':last').css('border', '3px solid blue')
这句我理解的是 查找所有class为div的元素,在这些div的最后一个子元素加样式,
那应该3个 div最后的子元素都有样式啊,为什么只有最后一个div有样式
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title></title>
<link rel="stylesheet" href="imooc.css" type="text/css">
<style>
.left {
width: auto;
height: 120px;
}
.left div {
width: 150px;
height: 70px;
padding: 5px;
margin: 5px;
float: left;
background: #bbffaa;
border: 1px solid #ccc;
}
a {
display: block;
}
</style>
<script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
</head>
<body>
<h2>children方法()</h2>
<div class="left first-div">
<div class="div">
<ul class="level-1">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
</div>
<div class="div">
<ul class="level-2">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
</div>
<div class="div">
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
</div>
</div>
<button id="bt1">点击:children无参数</button>
<button id="bt2">点击:children传递表达式</button>
<script type="text/javascript">
$("#bt1").click(function() {
//?
})
</script>
<script type="text/javascript">
$("#bt2").click(function() {
//找到所有class=div的元素
//找到其对应的子元素ul,然后筛选出最后一个,给边宽加上颜色
$('.div').children(':last').css('border', '3px solid blue')
})
</script>
</body>
</html>Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
关于children的问题?-PHP中文网问答-关于children的问题?-PHP中文网问答
围观一下哦,学习一下。
因为在children方法后面带了一个参数:last,last是返回被选元素的最后一个元素,所以只有最后一个div会生效,将last去掉,三个div都会生效
确实是【查找所有class为div的元素,在这些div的最后一个子元素加样式】,但是要明确的是,div的子元素是ul,,所以$('.div').children获取的是 level-1、level-2、level-3,最后一个子元素是level-3,所以最后只有level-3有样式。