根据值更改 <td> <i> CSS
Changing <td> <i> CSS based on the value
>我被要求对值进行一个小验证,如果值大于或小于 0,我需要更改或添加/删除 td 和 i 标签的 css
我的桌子看起来像这样
<table class="table table-hover" id="studentweek">
<thead>
<tr>
<th>Year</th>
<th">Weeks</th>
</tr>
</thead>
<tbody>
<tr>
<td>VAR (%)</td>
<td class="text-warning"> <i class="classname">-10.65%</i></td>
</tr>
<tr>
<td>VAR (diff)</td>
<td class="text-warning"> <i class="classname">-13,953</i></td>
</tr>
<tr>
<td>VAR (%)</td>
<td class="text-navy"> <i class="classname">8.81%</i></td>
</tr>
<tr>
<td>VAR (diff)</td>
<td class="text-navy"> <i class="classname">11,320</i></td>
</tr>
</tbody>
</table>
目前我正在对 CSS 进行硬编码,但我希望能够在值自动更改时动态更改这些内容,有人可以建议存档的最佳方式吗?
我在 Ajax 请求中想做这样的事情:
var sdlyvar = $(parseFloat(".classname").text());
if (sdlyvar < 0){
$('.classname').removeClass(".classname").addClass("fa-level-down");
} else {
$('.classname').removeClass(".classname").addClass("fa-level-up");
}
使用 JavaScript parseFloat 解析百分比 (http://www.w3schools.com/jsref/jsref_parsefloat.asp)。
var percent = $('#sdlyvar').text();
var result = parseFloat(percent) / 100.0;
if (result < 0){
$('#sdlyvar').removeClass("fa-level-up");
$('#sdlyvar').addClass("fa-level-down")
} else {
$('#sdlyvar').removeClass("fa-level-down");
$('#sdlyvar').addClass("fa-level-up")
}
你的第一个问题是你不能将像"-10.95%"
这样的字符串与整数进行比较,因为最后的%
符号。您必须在以下值上使用parseFloat
:
var sdlyvar = parseFloat($('#sdlyvar').text());
它将处理数字后面的所有非数字内容。
然后,您可能希望在更新时删除相反的类:
if (sdlyvar < 0){
$('#sdlyvar').removeClass("fa-level-up").addClass("fa-level-down");
} else {
$('#sdlyvar').removeClass("fa-level-down").addClass("fa-level-up");
}
一些随机建议:
- 在 StackOverflow 上发布时明确代码中的问题
- 当使用 jQuery 多次引用一个元素时,请考虑将选择放在变量中,例如
var $sdlyvar = $("sdlyvar");
: 键入和执行速度更快。 - 发布代码时为我们节省一些空格:/
在这里 .slice 将删除此代码中的 % 符号,其余代码将比较值并分配或删除类
var sdlyvar = $('#sdlyvar').text();
if (sdlyvar.slice(0,-1) < 0){
$('#sdlyvar').removeClass("fa-level-up");
$('#sdlyvar').addClass("fa-level-down");
} else {
$('#sdlyvar').removeClass("fa-level-down");
$('#sdlyvar').addClass("fa-level-up");
}
var lis=document.querySelectorAll("tr td i");
for(var i in lis){
if(parseInt(lis[i].innerHTML)<0){
lis[i].className+=" fa-level-down";
}
else{
lis[i].className+=" fa-level-up";
}
}
相关文章:
- CSS-如何定位内容数据标题
- 点击TD更改TD CSS
- 循环通过表格查找第一个具有 CSS CSSstablelisttdselect 的 TD 文本
- 更改表格中单个单元格(TD)的CSS
- 如何在TD上应用CSS,其中每列的CSS类在Angular JS中是分开的
- 包含另一个表的 td 的不同 CSS
- 如果某个样式在TD中,则将CSS应用于TR
- 如何使用CSS在JavaScript中设置数组中“td”的高度
- jquery的DataTables表插件:如何为tr和td设置css类
- 通过JQuery将html加载到td中,应用CSS
- 使用javascript为td标签添加css类
- 如何应用css样式的动态tr与td和输入标签
- 如果& lt; td>有最大的整型数,在它的<添加CSS类到
——jquery - CSS在标签最后的TR TD
- 如何调用td's id来更改CSS样式
- 使用Vb.net在td cell后端动态添加css类
- 我需要什么CSS规则来隐藏"其子元素"td"'有子元素"input&qu
- Having trouble aligning texts rotated via CSS within <td&
- 将css类动态应用于firefox中不工作的表td
- 如何在 css 中更改 td,tr 值