2011-10-16 82 views
1

当我单击展开图像时,我需要获取第二个父类的类名。如何使用jQuery获取第二个父类的类名称

例如,如果我点击第一个div中的展开图像,我需要获得类名称test-one-heading

如果我点击第二个div,我需要的类名test-two-heading

<div class="content"> 
<div class="left-activity-block test-one-heading"> 
<div class="clearfix leftsidebar-title title-active"> 
<h2>TEST 1</h2> 
<div style="cursor: pointer;" class="collapse-symbol filter-plus-symbol"><img width="12" height="12" title="" alt="" src="/sites/all/themes/images/icons/expand.png"></div> 
</div> 
</div> 

<div class="content"> 
<div class="left-activity-block test-two-heading"> 
<div class="clearfix leftsidebar-title title-active"> 
<h2>TEST 2</h2> 
<div style="cursor: pointer;" class="collapse-symbol filter-plus-symbol"><img width="12" height="12" title="" alt="" src="/sites/all/themes/images/icons/expand.png"></div> 
</div> 
</div> 

我怎样才能做到这一点使用jQuery?

回答

3

您可以在click事件的图像关联,并单击您可以使用:

$(this).closest(".left-activity-block").attr("class"); 

你会得到双方的类名,你可以过滤你需要的人。

0

所有你所要做的就是回去了从图像中DOM,停止当你发现.left-activity-block,抓住该元素的所有类,并找到一个不是left-activity-block

$('img').click(function() { 
    var div  = $(this).closest('.left-activity-block')[0]; 
    var classes = div.className.split(/\s/); 
    for(var i = 0; i < classes.length; ++i) 
     if(classes[i] != 'left-activity-block') 
      alert(classes[i]); 
}); 

演示:http://jsfiddle.net/ambiguous/GkpkE/

1

试试这个:

VAR secondParentName = $( “myElement”)父()父()ATTR( “类”)。

0

这段代码如何?

$(document).ready(

function() { 
    $("img").click(

    function() { 
     alert($($(this).parents("div")[2]).attr('class').split(/\s+/)[1]); 
    }); 
} 

); 
相关问题