我的 html 中有多個表格。這些表具有“評估”和“評估全部”類的列。如果“評估”中的兩個單元格之一包含失敗,則“評估全部”單元格應將文本從“狀態”更改為“失敗”。否則它應該顯示通過。這適用于一個表,但我不知道如何為每個表獲取這個。我用 jQuery .each(".taglist") 嘗試過,但它不起作用。我想我必須重置變數計數. 對于每個表,變數應該重置為零,然后開始計數。現在它一直在計數并且沒有正確更改狀態單元格。
其中一張表:(其他表相同,只是其他ID)
<p>
<table id="results1" class="taglist">
<th>Name</th><th>result</th>
<tr>
<td class="valuation">FAIL</td><td class="valuation_all" rowspan=2>status</td>
</tr>
<tr>
<td class="valuation">PASS</td>
</tr>
</table>
</p>
jQuery:
$(document).ready(function() {
var count= 0;
$('table.taglist').each(
function() {
var count= $(".valuation:contains('FAIL')").length
if(count> 0) {
$(".taglist td:contains('status')").html("FAIL");
}else{
$(".taglist td:contains('status')").html("PASS");
}
});
});
每一個幫助表示贊賞!
uj5u.com熱心網友回復:
您可以使用它來解決它。
$(document).ready(function() {
var count = 0;
$('table.taglist').each(
function() {
var count = $(".valuation:contains('FAIL')",this).length
$("td:contains('status')", this).html(count > 0 ? "FAIL" : "PASS");
});
});
主要問題是您的選擇器沒有參考您“內部”的表格。通過這樣做$(".valuation:contains('FAIL')",this),你告訴選擇器(".valuation:contains('FAIL')")在你的表中搜索這個
演示
顯示代碼片段
$(document).ready(function() {
var count = 0;
$('table.taglist').each(
function() {
var count = $(".valuation:contains('FAIL')",this).length
$("td:contains('status')", this).html(count > 0 ? "FAIL" : "PASS");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="results1" class="taglist">
<th>Name</th>
<th>result</th>
<tr>
<td class="valuation">FAIL</td>
<td class="valuation_all" rowspan=2>status</td>
</tr>
<tr>
<td class="valuation">PASS</td>
</tr>
</table>
<table id="results2" class="taglist">
<th>Name</th>
<th>result</th>
<tr>
<td class="valuation">PASS</td>
<td class="valuation_all" rowspan=2>status</td>
</tr>
<tr>
<td class="valuation">PASS</td>
</tr>
</table>
uj5u.com熱心網友回復:
$(document).ready(function() {
$('table.taglist').each(function() {
let count= $(this).find(".valuation:contains('FAIL')").length;
$(this).find("td:contains('status')").html(count> 0 ? "FAIL" : "PASS");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="results1" class="taglist">
<th>Name</th><th>result</th>
<tr>
<td class="valuation">FAIL</td><td class="valuation_all" rowspan=2>status</td>
</tr>
<tr>
<td class="valuation">PASS</td>
</tr>
</table>
<table id="results2" class="taglist">
<th>Name</th><th>result</th>
<tr>
<td class="valuation">PASS</td><td class="valuation_all" rowspan=2>status</td>
</tr>
<tr>
<td class="valuation">PASS</td>
</tr>
</table>
<table id="results3" class="taglist">
<th>Name</th><th>result</th>
<tr>
<td class="valuation">FAIL</td><td class="valuation_all" rowspan=2>status</td>
</tr>
<tr>
<td class="valuation">FAIL</td>
</tr>
</table>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/476352.html
