【发布时间】:2021-08-26 19:40:46
【问题描述】:
我试图在点击时一次设置每个<li> 元素的样式,而不是一次全部设置样式。对于每次点击,第一次,然后在第二次点击,下一次,依此类推...
这段代码一次性为所有 li 元素添加样式。我该怎么做?
$("a").click(function() {
var menu = document.getElementsByTagName("li");
for (var i = 0; menu[i]; i++) {
$(menu).css("background", "red");
}
});
p {
color: red;
margin: 5px;
cursor: pointer;
}
p:hover {
background: yellow;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a>sdadsa</a>
<ul>
<li>asda</li>
<li>sadada</li>
<li>sada</li>
<li>asdad</li>
</ul>
【问题讨论】:
-
您必须以某种方式跟踪列表项索引。你试过什么?
-
顺便说一句,您可能不应该使用这样的锚(链接)。使用按钮或仅使用结构元素。锚点用于导航。
-
@isherwood 我尝试添加类并检查 li 元素是否具有类,但我确信有一种更简单的方法......但无论如何都没有用
标签: javascript html jquery each