我的HTML就是这样

<div id="cssmenu">
<ul>
    <li class="has-sub open ">
        <a href="/rigging.aspx " >  rig </a>
        <ul>
            <li class="has-sub ">
                <a href="/rigging/rigging.aspx">  rigging  </a>
            </li>
            <li class="has-sub ">
                <a href="/rigging/rigging.aspx">rig-3 </a>
            </li>
        </ul>
    </li>
</ul>



在页面加载时,如果任何<li>具有类open,我希望其子元素<ul>向下滑动。我写了这样的东西

    $(document).ready(function () {
    if ($('#cssmenu li').hasClass('open')) {
        $(this).children('ul').slideDown();
    }
}


但是它不起作用(滑倒不会发生)可以有人指出我在这里缺少什么吗?

最佳答案

这将选择li具有类ul的所有.open子级,并应用slideDown。

$('#cssmenu li.open > ul').slideDown();




$('li.has-sub > ul').slideDown();

.has-sub > ul {
  display: none;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li class="has-sub open ">
    <a href="/rigging.aspx ">  rig </a>
    <ul>
      <li class="has-sub ">
        <a href="/rigging/rigging.aspx">  rigging  </a>
      </li>
      <li class="has-sub ">
        <a href="/rigging/rigging.aspx">rig-3 </a>
      </li>
    </ul>
  </li>
  <li class="has-sub open ">
    <a href="/rigging.aspx ">  rig </a>
    <ul>
      <li class="has-sub ">
        <a href="/rigging/rigging.aspx">  rigging  </a>
      </li>
      <li class="has-sub ">
        <a href="/rigging/rigging.aspx">rig-3 </a>
      </li>
    </ul>
  </li>
  <li class="has-sub">
    <a href="/rigging.aspx ">  rig </a>
    <ul>
      <li class="has-sub ">
        <a href="/rigging/rigging.aspx">  rigging  </a>
      </li>
      <li class="has-sub ">
        <a href="/rigging/rigging.aspx">rig-3 </a>
      </li>
    </ul>
  </li>
</ul>

关于javascript - 使子ul在页面加载时向下滑动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31437854/

10-12 12:35
查看更多