jquery过滤器具有两个不同的数值
jquery filter with two different number values
我编写了这个脚本,它过滤了一个包含被视为字符串的数字的表。我使用parseInt()将字符串转换为数字。请参阅下面的代码。然后,我被要求将其应用于另一个单元格,该单元格包含一个"1.00"或"0.00"字符串,并且有一个名为goal的类。我知道我可以复制下面的代码,并更改解析以查找数字==1,但我正在寻找一种更有效的方法来管理它
<script type="text/javascript">
$(document).ready(function () {
$('td.completedPercent').filter(function (index) {
return parseInt(this.innerHTML, 10) >= 90;
}).css({ 'color': '#FFF', 'background-color': '#336633' });
});
</script>
jsFiddle Demo
如果要将筛选器应用于td
的两个类,请尝试同时选择这两个类。在筛选器内部,提供一个或子句来区分它们。一旦集合好了,你就可以将css应用到它上。这里也有一个类。
<script type="text/javascript">
$(document).ready(function () {
$('td.completedPercent, td.goal').filter(function () {
var t = $(this),i = parseInt(t.html(), 10);
return (t.hasClass("goal") && i == 1) || i >= 90;})
.css({ 'color': '#FFF', 'background-color': '#336633' });
});
</script>
就我个人而言,我会这样写:
$(function () {
$('td').each(function () {
var content = $(this).text();
if (($(this).hasClass('completedPercent') && parseInt(content, 10) >= 90) || ($(this).hasClass('goal') && (content === '1.00' || content === '0.00'))) {
$(this).css({
'color': '#FFF',
'background-color': '#336633'
});
}
});
});
但@TravisJ的回答同样有效。
相关文章:
- JQuery合并了keyup和focusout两个函数
- 如何使用 node.js 比较两个 json 数组
- 为复选框javascript指定两个值
- 如何应用带过滤器的ng if来过滤记录,并在同一页面中显示两个不同的视图
- 使用包含过滤器在环回中连接两个模型
- 在kibana3/elastic.js中合并两个过滤器
- CKEditor-如何在两个编辑器中一起使用高级内容过滤器和小部件
- 两个日期之间的自定义过滤器 AngularJS
- 如何使用 Angularjs 过滤器来过滤绑定到两个选择框的数组
- 创建一个包含两个文件 json 的 Angularjs 过滤器
- AngularUI:在应用过滤器的情况下正确更新两个列表之间的模型
- 在Openlayers中组合两个OCG过滤器
- 单击过滤器定位两个元素
- jquery过滤器具有两个不同的数值
- 如何在Angular js中基于两个自定义过滤器过滤数据
- AngularJS ng重复过滤器根据作用域有两个不同的参数
- jQuery/Javascript-连接两个过滤器-只显示tr's与td's正在匹配一个数组
- Jquery mobile -如何为两个数据集使用listview数据过滤器
- 如何在angular js中向自定义过滤器传递两个参数
- 如何合并两个过滤器(AND操作)