我需要从列表中获取最接近的html类,但是如果我直接放置closest,则它始终返回null。我尝试其他一些想法,但无法正常工作。

HTML:

<ul id="ulId">
  <li class='effectLeg'>
    Stuffs
  </li>
  <li class='test legColor' style=''></li>
  <li class='effectLeg'>
    Stuffs 2
  </li>
  <li class='test legColor'></li>
</ul>


因此,如果我将最后一个LI悬停(表示exp),则悬停将获得最近的类effectLeg并给我HTML或其中的任何内容(在这种情况下为STUFFS 2)。

js:

$(".legColor").live("hover", function(){
    alert($(this).closest("#ulId").find(".effectLeg").html());
});


我得到的最接近的是使用find,但是发现仅获得了我的li的第一个值

我做了一个exp:检查Demo

最佳答案

.closest()搜索一个元素的祖先,但是看起来您正在尝试搜索同级元素。我想您只想要.prev()

$(".legColor").live("hover", function(){
    console.log($(this).prev('li.effectLeg'));
});


演示:http://jsfiddle.net/mattball/nggyX/

关于javascript - 从列表中获取最接近的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6441028/

10-13 05:00