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

时间:2016-03-10 08:41:47

标签: javascript jquery html css css-selectors

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

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

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

有没有例如找到标记为<li>的所有3,结果是这样的:

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

所以我可以将它放在像$('.container').html(result);

这样的容器中

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

的css属性

我认为后者更有效率。

2 个答案:

答案 0 :(得分:5)

是的,您可以使用~=:查找li元素,其中包含&#39; 3&#39;在tags属性值中:

$('li[tags~=3]');

使用:not()选择器查找没有&#39; 3&#39;的元素,然后隐藏它们:

 $('li:not([tags~=3])').hide();

如果您想使用特定课程定位li,请使用li.class

答案 1 :(得分:1)

$(document).ready(function ()
        {
            var a = $("[tags*='3']");

        });

它将导致你包含3个标签属性的li。替代是var a=$("li[tags*='3']")