Javascript 检查无序列表是否包含特定列表项
例如,我有一个这样的列表Javascript 检查无序列表是否包含特定列表项,javascript,jquery,html,search,Javascript,Jquery,Html,Search,例如,我有一个这样的列表 <ul id='root'> <li> <a> Item0 </a> </li> <li> <a> Item1 </a> </li> <li> <a> Item2X </a> <ul> <li> <a> Ite
<ul id='root'>
<li> <a> Item0 </a> </li>
<li> <a> Item1 </a> </li>
<li>
<a> Item2X </a>
<ul>
<li> <a> Item2.0 </a> </li>
</ul>
</li>
</ul>
项目0
项目1
项目2X
- 项目2.0
并希望检查根目录是否包含以下项
<li> <a> Item2.0</a> </li>
项目2.0
为了便于比较,我们可以使用jquery对列表项的文本值进行比较。解决上述问题的好方法是什么?使用jQuery:
使用jQuery:
您可以使用
:has
和:contains
var hasItem = !!$("#root:has(a:contains(Item2.0))").length;
您可以使用
:has
和:contains
var hasItem = !!$("#root:has(a:contains(Item2.0))").length;
非常感谢,之前使用了带有一些逻辑的.find方法,但认为应该有一个更简单的解决方案,在比较时可以忽略文本中的空格填充。例如,根元素可能包含并希望在使用目标节点时将其作为匹配项。希望这不是不使用正则表达式。如果您只使用
contains(“Item2.0”)
它会找到
以及
。非常感谢,以前使用了带有一些逻辑的.find方法,但认为应该有一个更简单的解决方案。在比较时,有一种方法可以忽略文本中的空格填充。例如,根元素可能包含并希望在使用目标节点时将其作为匹配项。希望这不是不使用正则表达式。如果只使用contains(“Item2.0”)
它将找到
以及
。