使用以空格分隔的值在自定义标记内查找包含特定值的元素

Arm*_*eni 1 html javascript css jquery css-selectors

想象一下,我有这样的事情:

<li tags="1 3 "></li>
<li tags="2 3 "></li>
<li tags="4 "></li>
Run Code Online (Sandbox Code Playgroud)

标签由空格分隔.我的想法是<li>通过标签找到s作为自定义属性,以便不再进行另一个查询来查找选择了标签的项目.

反正有没有例如找到<li>带有标签的所有s,3结果是这样的:

result = <li tags ="1 3 "></li><li tags ="2 3 "></li>

所以我可以把它放在容器里 $('.container').html(result);

或者更好的方法:找到<li>没有该标签的s并添加css属性display: none

我认为后者更有效率.

pot*_*hin 5

是的,您可以使用~=:查找属性值为li'3'的元素tags:

$('li[tags~=3]');
Run Code Online (Sandbox Code Playgroud)

并使用:not()selector来查找没有'3'的元素,并隐藏它们:

 $('li:not([tags~=3])').hide();
Run Code Online (Sandbox Code Playgroud)

如果要li使用特定类进行定位,请使用li.class.