我有:
<div class="foo">
<div class="bar">
</div></div>
当呈现“bar”时,我想检查“bar”是否在“foo”中,如果是,那么类名是什么。
什么不起作用:
<div class="foo">
<div class="bar">
<script type="text/javascript">
$(this).load(function(){
var parentClass= $(this).parent().attr('class');
});
</script>
</div></div>
如果“bar”在“foo”中,我想隐藏“bar”,如果没有,则显示它,所以我会:
if(parentClass.indexOf('foo') > -1) $(this).hide();
答案 0 :(得分:0)
尝试:
$('.foo').each(function () {
if ($(this).find('div.bar').length) $(this).find('div.bar').hide();
});
<强> jsFiddle example 强>
甚至可以在没有JavaScript的情况下完成(仅限CSS):
.foo .bar {
display:none;
}
<强> jsFiddle example 强>
答案 1 :(得分:0)
<script type="text/javascript">
$(this).load(function(){
if($(this).parent().is('.foo'))
{
$(this).hide()
}
});
</script>
顺便说一句,加载将适用于我相信的图像
答案 2 :(得分:0)
div
没有加载事件,无论如何,在这种情况下,this
是(我认为)窗口。尝试选择DOM就绪处理程序中的所有.bar
元素,然后执行您需要的任何操作。
$(document).ready(function() {
$('.foo > .bar').hide();
});
答案 3 :(得分:0)
我认为你将document.ready与load函数混淆了。此外,这里有一个简单的方法,只有当它们在foo中时才能隐藏'bar'。
$(document).ready(function () {
if ($('.foo').find('.bar').length > 0) {
$('.bar').hide();
}
});
答案 4 :(得分:0)
如果“bar”在“foo”中,我想隐藏“bar”:
只针对.foo的任何子.bar?
$('.foo .bar').hide();
答案 5 :(得分:0)