【发布时间】:2012-05-16 23:38:46
【问题描述】:
为什么会这样:
$('.button_30').click(function(){
$(this).closest('.portlet').find('.portlet_content').text("foo");
});
为什么这不起作用:
$('.button_30').click(function(){
$(this).parent('.portlet').find('.portlet_content').text("foo");
});
html 看起来像这样:
<div class="portlet portlet_30">
<div class="portlet_header portlet_header_30">
header content here
</div>
<div class="portlet_sub_header portlet_sub_header_30">
<input type="text" class="textbox_30" />
</div>
<div class="portlet_content portlet_content_30">
results go here
</div>
<div class="portlet_footer portlet_footer_30">
<input type="button" class="button_30" />
</div>
</div>
<div class="portlet portlet_30">
<div class="portlet_header portlet_header_30">
header content here
</div>
<div class="portlet_sub_header portlet_sub_header_30">
<input type="text" class="textbox_30 />
</div>
<div class="portlet_content portlet_content_30">
results go here
</div>
<div class="portlet_footer portlet_footer_30">
<input type="button" class="button_30" />
</div>
</div>
【问题讨论】:
-
因为
.portlet不是.button_30的父级,所以.portlet_footer是父级。 -
这里是和父母比较的:api.jquery.com/closest
标签: jquery html jquery-selectors