的HTML:
<li>
<h2 class="tree_header"><input type="checkbox" name="no_name" class="visual_astetics" data-headcheck="yes"> Network Throttle</h2>
<ul class="tree_collapse">
<li>
<ul>
<li>Throttle Network speeds to <input type="text" name="job_nw_throttle_rate" id="job_nw_throttle_rate" style="width:50px;" placeholder="no limit" data-multiple="yes" data-autosave="postHandler" data-autosave_end="" data-autosave_uri="/api/jobs/setproperty"><span class="small_text italic">(kbits/s)</span></li>
<li>
<h2 class="tree_header">Set Start & Stop times for Network Throttle</h2>
<ul class="tree_collapse">
<li>
<ul>
<li>
Throttle starts at <input type="text" name="job_nw_throttle_start" id="job_nw_throttle_start" style="width:30px;" placeholder="0" data-multiple="yes" data-autosave="postHandler" data-autosave_end="" data-autosave_uri="/api/jobs/setproperty"> (local time / 24-Hour format)
</li>
<li>
Throttle finishes at <input type="text" name="job_nw_throttle_end" id="job_nw_throttle_end" style="width:30px;" placeholder="0" data-multiple="yes" data-autosave="postHandler" data-autosave_end="" data-autosave_uri="/api/jobs/setproperty"> (local time / 24-Hour format)
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
这是一个更大的数据集的一部分。我想要做的是,当我发现此示例中包含的任何输入都加载了与其占位符不等效的数据时,会向上遍历ul/li
集合堆栈到顶部li
。li
如本例所示,假设有多个 main 是公平的。但在这种情况下,我对元素中具有类的复选框visual_astetics
感兴趣h2
。到目前为止,在寻找不同的东西并在此基础上做其他事情时,我已经拥有了我想要工作的一切。但是,如果您要进行程序化,我似乎无法“找到”该复选框。
我尝试过使用parents()
,parentsUntil()
和closest()
其他几个以及它们的组合。但是还没有找到复选框或其所在的 H2。要假设的另一件事是,就当前结构而言,HTML 可能无法编辑,因此如果您将通过 id 或 class 或其他在该顶部添加停止点li
可能不是目前可能。假设这些层可以比这里显示的更深,这也很好。综上所述,任何想法如何仍然可以找到该复选框?