Javascript 在具有空格分隔值的自定义标记中查找包含特定值的元素
想象一下我有这样的东西:Javascript 在具有空格分隔值的自定义标记中查找包含特定值的元素,javascript,jquery,html,css,css-selectors,Javascript,Jquery,Html,Css,Css Selectors,想象一下我有这样的东西: <li tags="1 3 "></li> <li tags="2 3 "></li> <li tags="4 "></li> 标签由空格分隔。我脑子里想的是通过作为自定义属性放入的标记来查找s,这样就不会再进行另一次查询,只是为了找到选中标记的项目 是否还有其他方法,例如,查找所有带有标签3的,结果如下: result= 所以我可以把它放在容器中,比如$('.container').ht
<li tags="1 3 "></li>
<li tags="2 3 "></li>
<li tags="4 "></li>
标签由空格分隔。我脑子里想的是通过作为自定义属性放入的标记来查找
s,这样就不会再进行另一次查询,只是为了找到选中标记的项目
是否还有其他方法,例如,查找所有带有标签3
的
,结果如下:
result=
所以我可以把它放在容器中,比如$('.container').html(result)代码>
或者更好的方法:找到没有该标记的
s并添加display:none的css属性
我认为后者更有效。是的,您可以使用~=
:查找li
元素,这些元素在标记中有“3”
属性值:
$('li[tags~=3]');
并使用:not()
选择器查找没有“3”的元素并隐藏它们:
$('li:not([tags~=3])').hide();
如果要将li
作为特定类的目标,请使用li.class
是的,您可以使用~=
:查找li
元素,这些元素在标记中具有“3”
属性值:
$('li[tags~=3]');
$(document).ready(function ()
{
var a = $("[tags*='3']");
});
并使用:not()
选择器查找没有“3”的元素并隐藏它们:
$('li:not([tags~=3])').hide();
如果要将li
作为特定类的目标,请使用li.class
$(document).ready(function ()
{
var a = $("[tags*='3']");
});
它将导致您的li在标记属性中包含3个。可选值为vara=$(“li[tags*='3'])
它将导致你的标签属性中包含3个标签。另一种选择是vara=$(“li[tags*='3'])
是否有类似于li[tags!~=3]
的内容?我想我发现我的答案会回到你的脑海中。它工作起来很有魅力,是否也需要添加一个类?我的意思是如果我想把我的李老师和一个像项目这样的班级分开。我希望它只对它们起作用。$('li.project:not([tags~=3])).hide()代码>这行得通吗?有没有像li[tags!~=3]
这样的东西?我想我发现我的答案会回到你的脑海里的。太棒了,它就像一个符咒,无论如何也要添加一个类吗?我的意思是如果我想把我的李老师和一个像项目这样的班级分开。我希望它只对它们起作用。$('li.project:not([tags~=3])).hide()代码>这行吗?这也将匹配13、23、31等等。这也将匹配13、23、31等等。