获取此DIV的父ID

时间:2013-03-09 15:44:25

标签: javascript jquery

我想在jquery / javascript中的“.buttonleft0”中点击按钮时,从这个布局中找到父div ID(即“Bakerloo”)。

<div id='Bakerloo' class='box'>bakerloo<p></p><span class='buttons'>
<span class='buttonleft0'><button onClick='up()'><span class='icon icon10'></span>
</button>
</span><span class='buttonleft'></span><span class='buttonright'></span></span>
<div class='comingup'></div>
<div class='more'></div></div>

我试过了:

$(this).parent('id');

但这只会返回'undefined'。

7 个答案:

答案 0 :(得分:4)

$(this).closest('div').attr('id')

我认为这就是你想要的

答案 1 :(得分:3)

parent()函数返回jQuery对象,因此您需要将attr()用于任何属性,如下所示:

$(this).closest().attr('id');

修改:进一步检查时,按钮不是div的直接子项,因此需要使用closest()功能。

答案 2 :(得分:3)

直接Javascript总是适合我。

<div id='Bakerloo' class='box'>
    bakerloo<p></p>
    <span class='buttons'>
        <span class='buttonleft0'>
        <button onClick='alert(this.parentNode.parentNode.id)'>
             <span class='icon icon10'></span>
        </button>
        </span>
        <span class='buttonleft'></span>
        <span class='buttonright'></span>
    </span>
    <div class='comingup'></div>
    <div class='more'></div>
</div>    

答案 3 :(得分:1)

试试这个:

$(this).parent().attr("id");

答案 4 :(得分:0)

试试这个:

$(本).closest( 'DIV [ID]')

答案 5 :(得分:0)

您的代码本身没有错误,所以这里是正确的:

<强> HTML

<div id='Bakerloo' class='box'>bakerloo<p></p><span class='buttons'>
<span class='buttonleft0'><button><span class='icon icon10'>Click here</span>
</button>
</span><span class='buttonleft'></span><span class='buttonright'></span></span>
<div class='comingup'></div>
<div class='more'></div></div>

<强> JQuery的

jQuery(document).ready(function($){
    $("button").on('click',function(){
       alert($(this).closest('div').attr('id'));
    });
});

这里是小提琴http://jsfiddle.net/cpeeyush/ydk4e/

答案 6 :(得分:0)

alert($(this).parent().id);

如果您想确保选择正确的班级,请尝试:

alert($(this).parent('.div').id);

如果你有更深层次的结构,你可以使用:

alert($(this).parents('.div:eq(n)').id);

其中n是您想要获得的父母