当我点击展开图片时,我需要获取第二个父级的类名。
例如,如果我单击第一个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执行此操作?
答案 0 :(得分:3)
您可以将click
事件与图片相关联,然后点击您可以使用:
$(this).closest(".left-activity-block").attr("class");
你会得到两个类名,你可以过滤你需要的那个。
答案 1 :(得分:1)
试试这个:
var secondParentName = $(“myElement”)。parent()。parent()。attr(“class”);
答案 2 :(得分: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]);
});
答案 3 :(得分:0)
这段代码怎么样?
$(document).ready(
function() {
$("img").click(
function() {
alert($($(this).parents("div")[2]).attr('class').split(/\s+/)[1]);
});
}
);