jQuery if else无序列表addClass
jQuery if else unordered list addClass
我有一个带有四个li
元素的ul
。我想看看哪一个有.selected
类。如果li
具有类别.selected
,则不执行任何操作。如果同一列表中的另一个.li
没有.selected
类,我想添加.li-border
类。在下面的代码示例中,我可以启动console.log,但不能启动addClass。我错过了什么?谢谢
if ($("ul.portfolio-nav li a").hasClass("selected")) {
console.log("yo");
} else {
$(this).addClass("li-border");
};
试试这个代码:
$("ul.portfolio-nav li a").each(function(){
if ( !$(this).hasClass("selected") ) {
$(this).addClass("li-border");
};
});
.li-border{
border: 1px solid black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class='portfolio-nav'>
<li><a href='#'>First element</a></li>
<li><a href='#' class="selected">Second and selected element</a></li>
<li><a href='#'>Third element</a></li>
</ul>
希望这能有所帮助。
:not
选择器应该完成以下操作:
$("ul.portfolio-nav li a:not(.selected)").addClass('li-border');
或者使用".not"函数,如jQuery文档所建议的:
$("ul.portfolio-nav li a").not(".selected").addClass('li-border');
这里有一个例子。用你想要的样式替换这些样式应该很容易。
$(document).ready(function() {
$("#list-items li").each(function() {
if (!$(this).hasClass('selected')) {
$(this).addClass('disable');
}
});
});
li:hover,
.selected {
text-decoration: underline;
cursor: pointer;
color: black;
}
.disable {
color: gray;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<ul id="list-items">
<li>List item</li>
<li>List item</li>
<li class="selected">Selected item</li>
<li>List item</li>
</ul>
不要让自己过于复杂。只需删除所有li边界类,然后将其添加到您想要匹配的集合中。
https://jsfiddle.net/da98dmgt/7/
$("ul.portfolio-nav li").click(function(){
$("ul.portfolio-nav ul li").removeClass("li-border");
$(this).siblings("li").addClass("li-border");
});
相关文章:
- 要求输入在数据列表中
- 从javascript创建一个列表
- 如何使用jQuery选择下拉列表的值
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- 如何使用json将对象列表从java转换为javascript
- 区分JSON中的矩阵和列表列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 接受不在列表中的值-引导组合框
- 禁用jQuery中的下拉列表
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 如何在javascript中迭代数字列表
- 如何在按钮中显示下拉列表中选定的元素
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- jQuery if else无序列表addClass
- . addclass为无序列表中被单击的项目符号
- 如何使用addClass()在元素的类列表中添加类