jquery parent,parents和nearest不能选择或跳过section标签

时间:2012-05-14 03:11:57

标签: jquery

我在下面有一个DOM结构:

<div class='box'>
    <section id="profile">
        <h1>testuser</h1>
        <div id="following">
            <a class="btn unfollow" style="width: 180px;" rel="nofollow" data-remote="true" data-method="delete" href="/users/testuser/unfollow">Unfollow</a>
        </div>
    </section>
</div>

然后我对链接的响应有一个触发器,我有一个$(this)。我可以通过一些控制台记录确认我在DOM中的这一点。

做一个$(this).parent()给我一个id为#following的div。

但是我无法使用parents()选择#profile或.box。做一个parent().parent()也给了一个零?

是否有某些原因我无法通过section标签遍历DOM树?

2 个答案:

答案 0 :(得分:1)

对我来说似乎很好:alert($("a").parent().parent().attr("id"))会返回“个人资料”。请参阅:http://jsfiddle.net/TZawQ/

答案 1 :(得分:1)

尝试使用$.closest()

$(this).closest(".box");

当然这个问题似乎有些可疑。我能够.box成功访问#profile {和$.parents}而没有问题:

$(".box").on("click", "a.btn.unfollow", function(e){
  e.preventDefault();
  $(this).parents(".box").css("background-color", "red");
});

http://jsbin.com/uranit/edit#javascript,html

我们需要看看你如何选择这些元素。

相关问题