jquery-如何设置父属性?

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') == '

我试图写一个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') == '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');