如何找到最近的<i>?</i>

时间:2014-02-06 07:38:28

标签: javascript jquery html5

我的HTML代码如下:

  <div class="listitems">
         user1@mail.com
    <a style="float: right;vertical-align: top;" data-recom-user="3" data-recom-mile="4">
      <i class="icon-eye-open"></i>
    </a>
    <i style="float: right;vertical-align: top;" data-irecom-done="false" data-irecom-user="3" data-irecom-mile="4" class="icon-hand-up" title="Recommend this user"></i>
    </div>

我在<a>的事件处理函数中有触发点击事件我想访问最近的<a>

我试过$(this).closest("<i>"),我得到<i class="icon-eye-open"></i>我怎么能

<i style="float: right;vertical-align: top;" data-irecom-done="false" data-irecom-user="3" data-irecom-mile="4" class="icon-hand-up" ></i>

元素,以便我可以改变它的一些属性。

4 个答案:

答案 0 :(得分:3)

根据您的HTML标记,您可以改为使用siblings()next()

$(this).siblings('i')

或:

$(this).next()

另外,请注意closest()将遍历DOM树,此方法不用于查找子元素

答案 1 :(得分:2)

获取内部锚标记:

$(this).find("i")

对于兄弟姐妹:

$(this).siblings("i")

答案 2 :(得分:0)

$(this).closest("<i>")

<i class="icon-eye-open"></i>

$(this).find("i .icon-hand-up")

<i style="float: right;vertical-align: top;" data-irecom-done="false" data-irecom-user="3" data-irecom-mile="4" class="icon-hand-up" ></i>

$(this).find("i .icon-hand-up").attr('','') ; // you can change the attribute

 $(this).parent().find("i:last").attr('','');

答案 3 :(得分:0)

$(document).ready(function () {
    $(".listitems a").click(function () {
        var sss = $(this).find('i');
        alert(sss.text());
    });
});