如何使用jQuery在html中选择父div?

时间:2011-01-28 08:22:17

标签: jquery html css

给出以下代码:

  <div class="parent">
    <div id="div1"></div>
    <div id="div2">
<div>Elemnt is here</div>
</div>
    </div>

 $("#rembook").live('click', function () {

            var cur = $(this);
            var ID = cur.attr('class').substring(4);
                    cur.parent('.div').fadeOut('slow');

            });

我希望在有人点击它时隐藏父div。 我用来隐藏的代码不起作用。在jQuery中有没有其他技巧可以做到这一点?

5 个答案:

答案 0 :(得分:2)

如果那是你的确切代码,那就有几个错误。

$("#rembook")这不会选择任何内容,因为HTML中没有rembook id的任何对象。

考虑到这只是示例中的一个错误(我猜它应该是#div1,或#div2),另一个问题是

cur.attr('class').substring(4)

cur变量,应为div1,没有类属性,因此cur.attr('class')将为空,cur.attr('class').substring(4)将抛出错误,阻止你运行JavaScript代码。

最后,代码cur.parent('.div')的这一部分将不会选择任何内容,因为您选择的是具有类div(示例<div class='div>)的父元素,它应该是< / p>

cur.parent('div').fadeOut('slow');

或者只是

cur.parent().fadeOut('slow');

答案 1 :(得分:2)

首先,#rembook不在您的示例代码中,因此我认为没有理由为什么它会起作用。

其次,除了parent()之外,您可能需要closest(),以防您需要隐藏的元素不是直接父级并且位于dom树的上方。

答案 2 :(得分:1)

类似

$(this).parent()

答案 3 :(得分:1)

我假设您的HTML代码如下:

<div class="parent">
  <div id="div1">Test</div>
  <div id="div2">Test</div>
  <div id="rembook">Button</div>
</div>

您的问题是隐藏ID rembook的父级。

您可以使用父方法:

 $("#rembook").live('click', function () {

        var cur = $(this);            
                cur.parent().fadeOut('slow');

        });

希望它可以帮助..

答案 4 :(得分:0)

你试过$.parent("div1")

吗?