如何使用 JavaScript 代码在活动 li 上添加类
How can I add class on active li with JavaScript code
<ul class="nav nav-tabs">
<li onclick="this.className='active'"><a href="#">Home</a></li>
<li onclick="this.className='active'"><a href="#">Menu 1</a></li>
<li onclick="this.className='active'"><a href="#">Menu 2</a></li>
<li onclick="this.className='active'"><a href="#">Menu 3</a></li>
</ul>
如何使用 JavaScript 在 li 标签上添加活动类。在这里,我尝试这样做。它正在工作,但无法正常工作。我在这里为标签做。
根据评论,我想你期待这个:
var a = document.querySelectorAll(".nav li a");
for (var i = 0, length = a.length; i < length; i++) {
a[i].onclick = function() {
var b = document.querySelector(".nav li.active");
if (b) b.classList.remove("active");
this.parentNode.classList.add('active');
};
}
.active {
background-color: #0f9;
}
<ul class="nav nav-tabs">
<li><a href="#">Home</a>
</li>
<li><a href="#">Menu 1</a>
</li>
<li><a href="#">Menu 2</a>
</li>
<li><a href="#">Menu 3</a>
</li>
</ul>
如果你有jquery
<ul class="nav nav-tabs">
<li><a href="#">Home</a></li>
<li><a href="#">Menu 1</a></li>
<li><a href="#">Menu 2</a></li>
<li><a href="#">Menu 3</a></li>
</ul>
<style>
.active {background-color: #0f9;}
</style>
<script type="text/javascript">
$("ul.nav.nav-tabs").on('click', 'li', function(){
$(this).siblings().removeClass('active');
$(this).addClass('active');
});
</script>
<小时 />Vanilla JavaScript(我测试的ES6,可能适用于ES5(
const elm = document.querySelector('ul');
elm.addEventListener('click', (el) => {
const elActive = elm.querySelector('.active');
if (elActive) {
elActive.removeAttribute('class');
}
el.target.setAttribute('class', 'active');
});
相关文章:
- 为li元素添加标题
- 如何更改dynamicaly的主题添加了li项jquery mobile
- 无法在 DIV 中添加 LI 项
- 动画化并同时向 li 添加类
- 单击按钮时,我如何将li的id添加为1
- 页面加载后,在li remove上添加类
- Javascript为li添加了span
- Javascript 使用 array 将 li 添加到 ul
- 如何将现有 ul 的所有 li 添加到另一个 ul 的底部,基于他们的 css 类
- 将 li 添加到 ul 并查找是否存在
- 按下轮播中的按钮时自动向每个 li 添加类
- 将 li 添加到 ul
- 将所选li添加到现有ul中
- 在页面加载后向li添加类
- 如果内容是某个字符串,则向li添加类
- AngularJS:为li添加活动效果和悬停效果
- 向LI添加占位符attr
- 当单击里面的标记时,向li添加类
- 如何将带有多个类的新li添加到UL
- 向父类LI添加类,其中A =当前文档