我有这个脚本
var dot = $('<i class="fa fa-circle"/>'),
addDot = $(".rating li").slice(2).prepend(dot);
var excelent = $(".rating li").hasClass("standard").addClass("good");
它应该:
1)添加到每个li(在第二个li之后)对象点 - 它现在正常工作。
2)基于当前班级给这个新的类别
例如,最后一个李应该有.good类。
我已在此处粘贴整个脚本http://codepen.io/marciapn/pen/medzwN
答案 0 :(得分:4)
hasClass不会返回一个jQuery对象,您可以使用该对象调用其他jQuery方法。相反,它返回布尔。
但是,您可以隐式在选择器本身中包含条件,如
var excelent = $(".rating li.standard").addClass("good");
上面的语句只会将good
类添加到具有standard
类的元素中,因为这些元素是首先选择的元素。
var dot = $('<i class="fa fa-circle"/>'),
addDot = $(".rating li").slice(2).prepend(dot);
var excelent = $(".rating li.standard").addClass("good");
ul {
border: 1px solid #3F434E;
border-radius: 5px;
box-sizing: border-box;
margin-top: 0px;
padding: 10px 20px;
line-height: 1.8em;
position: relative;
font-weight: 600;
list-style: none;
}
.price {
position: absolute;
right: 20px;
}
.good {
color: #84e07c;
}
.bad {
color: #e07ccd;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<ul class="rating">
<li>History</li>
<li>Overdue <span class="price">Sum</span>
</li>
<li class="extension">1 <span class="price">5000 CZK</span>
</li>
<li class="extension">2 <span class="price">5000 CZK</span>
</li>
<li class="schedule">+45 <span class="price">5000 CZK</span>
</li>
<li class="incaso">+454 <span class="price">5000 CZK</span>
</li>
<li class="standard">-1 <span class="price">5000 CZK</span>
</li>
</ul>