jquery-如何设置父属性?
我试图写一个if语句,如果其中一个元素的display设置为“none”,我希望父元素也显示“none” 这是我正在尝试的代码,它不起作用jquery-如何设置父属性?,jquery,attributes,parent,Jquery,Attributes,Parent,我试图写一个if语句,如果其中一个元素的display设置为“none”,我希望父元素也显示“none” 这是我正在尝试的代码,它不起作用 /* tried this first */ if($('#prevx a').attr('display') == 'none') { $(this).parent().attr('display','none'); } /* and then this */ if($('#prevxa > a').attr('display') == '
/* tried this first */
if($('#prevx a').attr('display') == 'none') {
$(this).parent().attr('display','none');
}
/* and then this */
if($('#prevxa > a').attr('display') == 'none') {
$('#prevxa').attr('display','none');
}
标记如下所示:
<ul>
<li class="navnext" id="nextxa">
<a id="nextx" href="#"><img src="/images/next.png"/></a>
</li>
<li class="navprev" id="prevxa">
<a id="prevx" href="#" style="display: none;"><img src="/images/previous.png"/></a>
</li>
</ul>
-
-
试试这个:
if($('#prevx').css('display') == 'none') {
$('#prevx').parent().css('display','none');
}
更好的是:
$('#prevx').parent().css('display',$('#prevx').css('display'));
这个例子对我很有用。要隐藏/显示父对象,请在无和内联之间切换子对象的显示:
<ul>
<li class="navnext" id="nextxa">
<a id="nextx" href="#"><img src="/images/next.png"/></a>
</li>
<li class="navprev" id="prevxa">
<a id="prevx" href="#" style="display: inline;"><img src="/images/previous.png"/></a>
</li>
</ul>
<script>
if ($('#prevx').css('display') == 'none')
$('#prevx').parent().css('display', 'none');
else
$('#prevx').parent().css('display', 'list-item');
</script>
-
-
if($('#prevx').css('display')=='none')
$('#prevx').parent().css('display','none');
其他的
$('#prevx').parent().css('display','list item');
.attr用于id、title、alt、src等标记
.css用于css样式,例如显示、字体、文本装饰:闪烁等
Pygorex1的解决方案应该可以做到这一点。从您的代码示例中,您已经有了父级的ID,为什么不使用它呢
if($('#prevx a').css('display') === 'none') {
$(this).parent().css('display','none');
}
此外,还有许多其他方法可以做到这一点(将下面的行包装在$(document).ready(function(){…})
中以使它们工作:
使用(这只会隐藏):
使用(这将隐藏或显示父对象)
JQuery使用了一些快捷方式:
将查找隐藏的对象(或设置为显示:无)。它也不必位于:hidden
中。您可以使用:.is()
$('div:hidden').show()显示所有隐藏的div
将查找未隐藏的对象(显示=“”、“内联”、“块”等):可见
$(元素).hide()将隐藏元素(将显示设置为无)
$(元素).show()将显示元素(清除显示值)
$('#child_id').parent().css('display','none');
隐马尔可夫模型。。。我粘贴了你的代码,就像你在这里看到的一样,但它不起作用。。。我也试过了:如果($('prevx').css('display')='none'){$('prevxa').css('display','none');}也不起作用(?)用新的代码片段更新了答案-如果。。。else在
$(文档).ready()块中。
var showOrHide = ($('#prevx').is(':hidden')) ? 'none' : '';
$('#prevxa').css('display', showOrHide);
$('#child_id').parent().css('display','none');