jquery - 如何设置父属性?

n00*_*101 5 jquery attributes parent

我正在尝试写一个if语句,如果其中一个元素的显示设置为"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');
}
Run Code Online (Sandbox Code Playgroud)

标记看起来像这样:

<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>
Run Code Online (Sandbox Code Playgroud)

lee*_*ers 9

试试这个:

if($('#prevx').css('display') == 'none') {
    $('#prevx').parent().css('display','none');
}
Run Code Online (Sandbox Code Playgroud)

更好的是:

$('#prevx').parent().css('display',$('#prevx').css('display'));
Run Code Online (Sandbox Code Playgroud)

这个例子适合我.要隐藏/显示父级,请在无和内联之间切换子级的显示:

<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>
Run Code Online (Sandbox Code Playgroud)