需要帮助,我试图削减复杂性并做出简单的例子:
<div id="tree_div">
<ul>
<li id="tree_li_401">401</li>
<li id="tree_li_101">101</li>
<li id="tree_li_301">301</li>
<li id="tree_li_201">201</li>
<li id="tree_li_102">102</li>
<li id="tree_li_402">402</li>
</ul>
</div>
我需要根据在tree_li之后的第一个数字隐藏所有li元素
例如:我需要在 tree_li _ 之后隐藏所有数字 4 的元素:
<li id="tree_li_402">
<li id="tree_li_401">
答案 0 :(得分:11)
答案 1 :(得分:2)
如上所述,您可以使用属性选择器,如果您想要所有这些方法的解决方案,请使用.each()
方法,并且您可以使用变量作为数字。
示例:
$("li[id='tree_li_'"+ magicNumber +"]").each(function (idx, li) {
$(li).hide();
});
或作为一个班轮
$("li[id='tree_li_'"+ magicNumber +"]").hide();
如果你想变得非常疯狂,可以使用.substring()
方法。
如果字符串具有指定的子字符串,则.substring
返回true。
即"brian".substring("ria")
将返回字符串的索引(正数)
如果找不到字符串,则返回-1。
$("li").each(function(idx, li) {
if ($(li).attr("id").substring("4")) {
$(li).hide();
}
});