jquery选择器ul标记的第一个子级

jquery selector first child of ul tag

本文关键字:第一个 选择器 ul jquery      更新时间:2023-09-26

我有一个这样的菜单结构:

 <ul>
    <li><a href="">One</a>
    </li>
    <li class="active"><a href="">Two</a>
        <ul>
            <li><a href="">Sub One</a>
                <ul>
                    <li><a href="">Sub One One</a>...</li>
                    <li><a href="">Sub One Two</a>
                    </li>
                </ul>
            </li>
            <li><a href="">Sub Two</a>
                <ul>
                    <li><a href="">Sub Two One</a>
                    </li>
                    <li><a href="">Sub Two Two</a>
                    </li>
                </ul>
            </li>
            <li><a href="">Sub Tree</a>
            </li>
        </ul>
    </li>
    <li><a href="">Tree</a>
    </li>
</ul>

现在。。。如何在类"active"中选择所有次优先的"ul"标记?

示例,活动>"ul"(sub-one)>"ul"(sub-oone)。。。等等

您可以像这样选择

JQuery

$('ul li.active>ul')$('li.active').children('ul')

CSS

ul li.active ul {}

$("li.active").find("ul")将发挥作用。下面是一个简单的代码,您可以在其中记录活动li中的所有UL元素。

var ulArr = $("li.active").find("ul");
console.log("First UL of active li is: " + ulArr[0]);
$.each(ulArr, function(index, element) {
  console.log("Child UL number " + index + " is: " + element);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
    <li><a href="">One</a>
    </li>
    <li class="active"><a href="">Two</a>
        <ul>
            <li><a href="">Sub One</a>
                <ul>
                    <li><a href="">Sub One One</a>...</li>
                    <li><a href="">Sub One Two</a>
                    </li>
                </ul>
            </li>
            <li><a href="">Sub Two</a>
                <ul>
                    <li><a href="">Sub Two One</a>
                    </li>
                    <li><a href="">Sub Two Two</a>
                    </li>
                </ul>
            </li>
            <li><a href="">Sub Tree</a>
            </li>
        </ul>
    </li>
    <li><a href="">Tree</a>
    </li>
</ul>

尝试

$("li.active >ul:first")

$('.activeul>li>a').first()

$(function() {
  var active = $('.active ul>li>a').first().addClass('red');
});
.red {
  color:red !important
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
 <ul>
  <li><a href="">One</a>
  </li>
  <li class="active"><a href="">Two</a>
    <ul>
      <li><a href="">Sub One</a>
        <ul>
          <li><a href="">Sub One One</a>...</li>
          <li><a href="">Sub One Two</a>
          </li>
        </ul>
      </li>
      <li><a href="">Sub Two</a>
        <ul>
          <li><a href="">Sub Two One</a>
          </li>
          <li><a href="">Sub Two Two</a>
          </li>
        </ul>
      </li>
      <li><a href="">Sub Tree</a>
      </li>
    </ul>
  </li>
  <li><a href="">Tree</a>
  </li>
</ul>