想象一下我有这样的事情:
<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
我认为后者更有效率。
答案 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']")