我有同一个班级的多个td,我想改变背景颜色,具体取决于它们是正在进行还是已完成......
问题是$('.isCompleted').text()
给了我所有正在进行的(大字符串重复相同的事情)
我的代码不起作用
未捕获的TypeError:isCompleted.text不是函数
在HTMLTableCellElement。 (列表flows.js:4)
在Function.each(jquery-3.2.1.min.js:2)
在HTMLDocument。 (列表flows.js:3)
在j(jquery-3.2.1.min.js:2)
在k(jquery-3.2.1.min.js:2)
$(document).ready(function () {
var isCompletedRows = $('.isCompleted');
$.each(isCompletedRows, function (index, isCompleted) {
console.log(isCompleted.text());
if(isCompleted.text() === "In Progress") {
$(this).closest('tr').css('background-color','#000');
}
else if(isCompleted.text() === "Completed") {
$(this).closest('tr').css('background-color','#555231');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<c:forEach var="flow" items="${flows}">
<tr class="flow-list">
<c:if test="${flow.isCompleted == 1}">
<td class="isCompleted">Completed</td>
</c:if>
<c:if test="${flow.isCompleted != 1}">
<td class="isCompleted">In Progress</td>
</c:if>
</tr>
</c:forEach>
答案 0 :(得分:1)
因为isCompleted是DOM,而不是jQuery。
所以你需要做
$(isCompleted).text()