Jquery: closest() 与其他 div class 不工作
Jquery: closest() with other div class not working
我不明白,为什么 closest() 不能与其他 div class 选择器一起使用。请参阅示例:感谢您的帮助
<div class="level1">Some Text</div>
<div class="level1">Some Text 2</div>
<div class="level2">level2 Text</div>
<div class="result">result</div>
var txt = $('.level2').closest('.level1').text();
$('.result').text("result: " + txt );
因为它们不是嵌套的。 closest
搜索祖先,而不是兄弟姐妹。
如果您想要最近的前一个兄弟姐妹,那就是 .prevAll(".level1").first()
(prevAll
, first
)。
实例:
var txt = $('.level2').prevAll('.level1').first().text();
$('.result').text("result: " + txt );
<div class="level1">Some Text</div>
<div class="level1">Some Text 2</div>
<div class="level2">level2 Text</div>
<div class="result">result</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
我不明白,为什么 closest() 不能与其他 div class 选择器一起使用。请参阅示例:感谢您的帮助
<div class="level1">Some Text</div>
<div class="level1">Some Text 2</div>
<div class="level2">level2 Text</div>
<div class="result">result</div>
var txt = $('.level2').closest('.level1').text();
$('.result').text("result: " + txt );
因为它们不是嵌套的。 closest
搜索祖先,而不是兄弟姐妹。
如果您想要最近的前一个兄弟姐妹,那就是 .prevAll(".level1").first()
(prevAll
, first
)。
实例:
var txt = $('.level2').prevAll('.level1').first().text();
$('.result').text("result: " + txt );
<div class="level1">Some Text</div>
<div class="level1">Some Text 2</div>
<div class="level2">level2 Text</div>
<div class="result">result</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>