我有一個 Tampermonkey 腳本,當特定列包含特定文本時突出顯示表行。
例如,下面的代碼成功突出顯示了第 1 列包含“M”和第 3 列包含“P”的行。
$("td:nth-of-type(1):contains('M')").parent().css("background-color","#ccccff");
$("td:nth-of-type(3):contains('P')").parent().css("background-color","#ccccff");
僅當第 1 列包含“P”且第 3 列包含“M”時,如何使用 AND 運算子或 IF 陳述句突出顯示一行?
uj5u.com熱心網友回復:
抓取所有<tr>元素并將其過濾到<td>符合您要求的元素。
獲得過濾后的集合后,設定背景顏色。
const MATCH = [{
col: 0,
chr: "M"
}, {
col: 2,
chr: "P"
}]
$("tr").filter((_, tr) => {
// get the <td> children
const cells = $(tr).children("td")
// Ensure each MATCH appears in each cell respectively
return MATCH.every(({ col, chr }) => cells.eq(col).text().includes(chr))
}).css("background-color", "#ccf")
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.slim.min.js"></script>
<table border="1">
<tr>
<td>No capital "m" here</td>
<td>foo</td>
<td>No capital "p" here</td>
</tr>
<tr>
<td>Mo Money</td>
<td>bar</td>
<td>Mo Problems</td>
</tr>
<tr>
<td>Pass the</td>
<td>baz</td>
<td>Mayo please</td>
</tr>
</table>
uj5u.com熱心網友回復:
這是你想要達到的目標嗎?
if ($("td:nth-of-type(1)").text() == "M" && $("td:nth-of-type(2)").text() == "P") {
$("td:nth-of-type(1)").parent().css("background-color", "#ccccff");
$("td:nth-of-type(2)").parent().css("background-color", "#ccccff");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/439979.html
標籤:javascript jQuery html表 篡改猴子 用户脚本
上一篇:無法使用反應顯示其他值
