Jquery:使用each()根据第一个字符更改表格数据的颜色
我试图根据表格的第一个字符更改表格第四列中的文本颜色。如果第一个字符是“+”,则颜色应为绿色。如果第一个数字是“-”,则颜色应为红色,如果两者都不是,则保留黑色。下面是我试图编写的Jquery代码,但我还没有确定each()的概念:Jquery:使用each()根据第一个字符更改表格数据的颜色,jquery,each,Jquery,Each,我试图根据表格的第一个字符更改表格第四列中的文本颜色。如果第一个字符是“+”,则颜色应为绿色。如果第一个数字是“-”,则颜色应为红色,如果两者都不是,则保留黑色。下面是我试图编写的Jquery代码,但我还没有确定each()的概念: $("tr td:eq(3)").each(function (i) { if (this.html().charAt(0) == '-') { this.css('color' , 'red'); } if (th
$("tr td:eq(3)").each(function (i) {
if (this.html().charAt(0) == '-') {
this.css('color' , 'red');
}
if (this.html().charAt(0) == '+') {
this.css('color' , 'green');
}
});
下面是一个HTML:
<table>
<tr>
<td>1</td>
<td>A</td>
<td>x</td>
<td>-10</td>
</tr>
<tr>
<td>2</td>
<td>B</td>
<td>y</td>
<td>+25</td>
</tr>
<tr>
<td>3</td>
<td>C</td>
<td>z</td>
<td>66</td>
</tr>
</table>
1.
A.
x
-10
2.
B
Y
+25
3.
C
Z
66
谢谢 在您的代码中
这是一个普通的javascript对象,您需要使用jQuery
对象$(this)
:
编辑:您使用的eq
没有预期效果,我已经在您的代码中使用了n子项
更新了代码此
是一个普通的javascript对象,您需要使用$(此)
的jQuery
对象:
编辑:您使用的eq
没有预期的效果,我已经使用第n个孩子更新了代码
我只对您的代码做了一些轻微的更改,这项工作是您想要的
$("tr").each(function () {
var data = $(this).find("td:eq(3)").text();
if(data.charAt(0) == '-')
{
$(this).find("td:eq(3)").css('color' , 'red');
}
else if(data.charAt(0)== '+')
{
$(this).find("td:eq(3)").css('color' , 'green');
}
});
我只对你的代码做了一些轻微的修改,这项工作是你想要的
$("tr").each(function () {
var data = $(this).find("td:eq(3)").text();
if(data.charAt(0) == '-')
{
$(this).find("td:eq(3)").css('color' , 'red');
}
else if(data.charAt(0)== '+')
{
$(this).find("td:eq(3)").css('color' , 'green');
}
});
那很快。我刚把它粘贴到我的页面上,但是颜色没有改变。代码中是否存在其他错误?这仍然没有更改第4列文本的颜色。缺少了什么吗?它应该工作得很好,这是一个工作原理,但让我问一下:为什么我们需要声明'col'变量才能使'$(This)'工作??另外,我没有15个名声,所以我不能提高你的分数——不过谢谢!因为您必须在
循环中多次使用$(this)
。将$(this)
分配给col
可以加快整个操作,不过在这种情况下,您不会看到太大的差异。这只是基本的编码实践,如果你要多次使用同一个东西,把它放在一个变量中。这很快。我刚把它粘贴到我的页面上,但是颜色没有改变。代码中是否存在其他错误?这仍然没有更改第4列文本的颜色。缺少了什么吗?它应该工作得很好,这是一个工作原理,但让我问一下:为什么我们需要声明'col'变量才能使'$(This)'工作??另外,我没有15个名声,所以我不能提高你的分数——不过谢谢!因为您必须在循环中多次使用$(this)
。将$(this)
分配给col
可以加快整个操作,不过在这种情况下,您不会看到太大的差异。这只是基本的编码实践,如果你要多次使用同一个东西,把它放在一个变量中。这个代码生成了整个红色和其他一些单元格。但是没有针对第四列。现在尝试我已经将目标更改为第四列现在第四列的文本颜色将更改。谢谢Vivek。我刚刚在JSFIDLE中测试了它,它也可以工作。这段代码生成了整个red和其他一些单元格。但是没有针对第四列。现在尝试我已经将目标更改为第四列现在第四列的文本颜色将更改。谢谢Vivek。我刚刚在jsfiddle中测试了它,它也可以工作。