我有一个存储 HTML 内容的基本字符串变量。
字符串中的 html 是一个复杂的列表,如下所示:
<ul>
<li>One
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</li>
<li>Two
<ul>
<li>d</li>
<li>e</li>
<li>f
<ul>
<li>g</li>
<li>h</li>
<li>i</li>
</ul>
</li>
</ul>
</li>
<li>Three</li>
上面是一个简化的示例,但正如您所见,列表元素的数量是未知的。一个列表元素可以包含另一个列表。存在未知数量的级别(列表元素可以有未知的(可能最多 9 个)父级<ul>
。
现在,当我将此字符串转换为 HTML 时,我会执行以下操作:
var obj = $(myHTMLString);
但是,这仅返回列表元素的第一级 - 因此在下面的 for 循环中,仅搜索第一级。我知道如何搜索子元素(在代码的 else 部分),但我需要对列表的所有级别执行此操作 - 这是未知的。
for (var i=0; i<obj.length;i++) {
if ( obj[i].id == someOtherVariable ) {
//we have found it
}
}
有没有办法在我的 html 变量(obj)中搜索所有列表元素?
当我console.log( $(myHTMLString) );
看起来像这样时,我想补充一点: