【发布时间】:2020-05-04 19:46:48
【问题描述】:
我正在使用作为分层菜单一部分的无序列表。我需要根据它们的类和列表位置返回列表项,以便我可以进行一些程序化 css 调整。这是一些示例 HTML:
<ul class="category1">
<li class="sec secactive" secid="360007912231" categoryid="360002246652" parentsecid="null" style="display: list-item;"><a href="myURL">Section1</a></li>
<li class="sec subsec" secid="360008584672" categoryid="360002246652" parentsecid="360007912231" style="background-color: red; display: list-item;"><a href="myURL">Subsection A</a></li>
<li class="sec subsec" secid="360008585372" categoryid="360002246652" parentsecid="360007912231" style="background-color: red; display: list-item;"><a href="myURL">Subsection B</a></li>
<li class="sec" secid="360007910471" categoryid="360002246652" parentsecid="null" style="display: list-item;"><a href="myURL">Section 2</a></li>
<li class="sec" secid="360007155641" categoryid="360002246652" parentsecid="null" style="display: list-item;"><a href="myURL">Section 3</a></li>
<li class="sec subsec" secid="360008585592" categoryid="360002246652" parentsecid="360007912231" style="background-color: red; display: list-item;"><a href="myURL">Subsection A</a></li>
<li class="sec" secid="360007106191" categoryid="360002246652" parentsecid="null" style="display: list-item;"><a href="myURL">Section 3</a></li>
</ul>
如果您查看示例 HTML,您会看到每个列表项 (li) 都有一个“sec”类。在大多数情况下,列表项也会有其他类分配——例如“subsec”。
我正在尝试组合一些 jQuery,它允许我以编程方式定位任何紧接在没有“subsec”类分配的列表项之前的“subsec”列表项。因此,如果我们再次查看示例 HTML,我希望能够返回第 3 和第 6 个列表项。 (它们都有一个 'subsec' 类,并且它们出现在另一个没有 'subsec' 类的 li 之前。)
这是我尝试过的 jQuery,但它不能正常工作。 (它似乎针对的是所有“子秒”列表项,而不仅仅是我需要返回的那些。)
$("li.subsec").each(function() {
if ($(this).next('li.sec') !='li.subsec');
$(this).css("background-color", "red");
});
任何关于如何修复我的 jQuery 代码的建议将不胜感激。
【问题讨论】:
标签: jquery list if-statement