在以下标记中,我想找到最接近i
的类。我正在尝试遵循jQuery,但它不起作用。
HTML:
<div id="item1" class="item">
<div class="text"><i class="class1"></i></div>
<div class="edit">Change</div>
</div>
jQuery的:
$('.edit').click(function(e){
var closest = $(this).closest('i').attr('class');
alert(closest);
});
演示:
答案 0 :(得分:4)
closest()
只会选择相同的节点和父节点。你需要siblings().children('i')
有关树遍历的详细信息,请参阅jQuery doc。
答案 1 :(得分:2)
var closest = $(this).prev().children('i').attr('class');
答案 2 :(得分:1)
.closest()
找到最亲近的父母,因为在您考虑.siblings.find('i')
而不是
答案 3 :(得分:1)
$('.edit').click(function(e){
var closest = $(this).prev('.text').find('i').attr('class');
alert(closest);
});
<强> DEMO 强>
答案 4 :(得分:1)
http://jsfiddle.net/Aveendra/BRnes/2/
$('.edit').click(function(){
var closest = $('.text').find('i').attr('class');
alert(closest);
});
答案 5 :(得分:1)
closest
只会找到父元素。如果i
始终位于.text
元素下,您可以执行以下操作:
$(this).prev(".text").find("i");
这将找到之前的.text
元素,然后是其下的所有i
元素。