2013-03-09 66 views
1

的父ID,我希望从这个布局寻父的div ID(即“贝克鲁”)按钮被点击之内” .buttonleft0" jQuery中/ JavaScript的时候。得到这个DIV

<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'); 

但这只是返回 '未定义'。

+1

错字,'父母哪一方类=“comingup”>' – j08691 2013-03-09 15:56:52

+0

通这个在您的内联的onClick'的onClick =“了(这个)”'..虽然它很可能是更好的使用jQuery绑定,因为你已经在使用jQuery – 2013-03-09 16:24:31

回答

3

parent()函数返回jQuery对象,所以你需要使用attr()任何它的属性,像这样:

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

编辑:在进一步检查它显示的按钮不是直接使用closest()功能的div的孩子,所以将需要。

+0

感谢,但这个只是返回undefined too ... – ldmo 2013-03-09 15:53:47

+0

即使你改正@ j08691在他的评论中指出的错字? – 2013-03-09 16:13:31

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

我觉得这是你想要

+0

感谢,但这个只是返回undefined太... :( – ldmo 2013-03-09 15:54:04

+0

$(这)将采取调用该函数的对象,因此,如果您不能确定指向按钮,你应该使用的按钮,例如定位器:$( 'span .buttonleft')。closest('div')。attr('id') – 2013-03-09 15:58:08

1

试试这个什么:

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

试试这个:

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

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/

+0

感谢现在分类:) – ldmo 2013-03-09 16:30:27

+0

@ldmosel好..如果它适合你然后请接受正确的答案 – Peeyush 2013-03-09 17:16:29

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>  
0
alert($(this).parent().id); 

如果你想一定要选择正确的类,尝试:

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

如果你有一个更深的层次,你可以使用:

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

其中n是你想在你的代码