如何使 jQuery 不计算列表中的子列表?

How do I make this jQuery not count sublists within a list?

我想知道 HTML 列表中有多少 "root" 个步骤。我将遍历根步骤,但 sub-steps 将被完全忽略。

我的 jQuery 总是计算根 <li> 步以及 child <li> 步,但我只想要根。

Fiddle: https://jsfiddle.net/5x33omaw/1/

我希望它只计算 3 步,而不是 returns 的 5 步。如何忽略children?

HTML:

<ol id="sidebar-step-list" class="no-indent">
    <li>Step 1</li>
    <li>Step 2
        <ul>
            <li>Substep 1</li>
            <li>Substep 2</li>
        </ul>
    </li>
    <li>Step 3</li>
</ol>
<hr/>
<div id="dog"></div>

JavaScript/jQuery

var stepList = $("#sidebar-step-list li");
var length = stepList.length;

$("#dog").text("Number of steps: " + length);

只需添加>符号

var stepList = $("#sidebar-step-list > li");

通过添加 > 将为您提供 #sidebar-step-list 的直接 li

DEMO