jquery - 如何 .addClass 以复制或动态创建相同的类
问题描述
我想突出显示由数据库生成的具有相同类的表行(所以我不知道究竟会出现什么类)
这是 HTML 标记的样子
到目前为止,我试过这个: -
<script type="text/javascript">
$(document).ready(function() {
$('tr:gt(0)').each(function () {
var txt = $(this).find("td:last").text();
txt = parseInt(txt);
if (txt = txt) {
$(this).addClass("alert alert-danger");
}
});
});
</script>
解决方案
您正在使用赋值运算符而不是比较运算符
改变这个
if (txt = txt)
对此
if (txt == txt)
此外,您当前正在做的事情将始终处于真实状态
var txt = $(this).find("td:last").text();
txt = parseInt(txt);
因为您获得了文本并将其自身解析为number
值。然后匹配相同的txt
值。这将永远是true
更新
您可以根据类名对行进行分组,如下所示,但是您可以根据自己的方便更改颜色。
$('tr:gt(0)').each(function () {
var rowClass= $(this).attr('class');
var back = ["#ff0000","blue","gray"];
var rand = back[Math.floor(Math.random() * back.length)];
if(rowClass.length>0){
$('tr.'+rowClass).css('background-color',rand)
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1">
<tr class="">
<td>Hello</td>
</tr>
<tr class="">
<td>Hello</td>
</tr>
<tr class="7998">
<td>Hello</td>
</tr>
<tr class="7998"><td>Hello</td></tr>
<tr class="7998"><td>7998</td></tr>
<tr class="8142"><td>Hello</td></tr>
<tr class=""><td>Hello</td></tr>
<tr class=""><td>Hello</td></tr>
<tr class="7730"><td>Hello</td></tr>
<tr class="7730"><td>Hello</td></tr>
<tr class="7730"><td>7730</td></tr>
<tr class="7730"><td>Hello</td></tr>
<tr class="7957"><td>7957</td></tr>
<tr class=""><td>Hello</td></tr>
</table>
推荐阅读
- tensorflow - 如何使用 Tensorflow 2.0 为 DCGAN 使用多个 GPU - RuntimeError:副本局部变量只能在副本上下文中分配
- mongodb - How do i restore old MongoDB files? (extensions end with numbers)
- python - 找到第二个最小值和第二个最大值
- c++ - 如何修复 R“错误:没有变量‘CXX11’、‘CXX11STD’和‘CXX11FLAGS’的信息”
- powershell - 循环遍历powershell中的多个数组
- servlets - 如何在 resp.sendRedirect 之后获取 HttpServletRequest 属性
- python - 我将如何迭代 Pandas 系列并将其与单浮点数进行比较?
- c++ - C++ STL map 同时更新所有值
- html - 无序列表对象未以模式显示
- github - 从 SourceGear Vault Source Control 迁移到 GitHub - 设置