0
4

6 回答 6

4

closest()只会选择相同的节点和父节点。你需要siblings().children('i')

http://jsfiddle.net/BRnes/3/

有关树遍历的更多信息,请参阅jQuery 文档

于 2013-08-27T11:17:09.047 回答
2
var closest = $(this).prev().children('i').attr('class');

演示

于 2013-08-27T11:17:52.380 回答
1

.closest()找到最近的父母,因为这似乎不是您可能考虑的.siblings.find('i')对象

于 2013-08-27T11:16:34.010 回答
1
$('.edit').click(function(e){ 
      var closest = $(this).prev('.text').find('i').attr('class');
     alert(closest);    
}); 

演示

于 2013-08-27T11:17:27.300 回答
1

http://jsfiddle.net/Aveendra/BRnes/2/

$('.edit').click(function(){ 
      var closest = $('.text').find('i').attr('class');
     alert(closest);    
}); 
于 2013-08-27T11:17:48.733 回答
1

closest只会找到父元素。如果i总是在.text元素下,你可以这样做:

$(this).prev(".text").find("i");

这将找到前一个.text元素,然后是它下面的任何i元素。

于 2013-08-27T11:17:49.927 回答