无法使用jquery更改背景颜色

时间:2014-08-01 10:14:02

标签: jquery

我有一个表格,其中我有数字框,其中很少一些在页面加载时已经为0。

我想更改页面加载时值为0的那些框的背景颜色。下面是我正在使用的代码,但它不适合我,请建议。

if($('tr td').children('input').val()==0)
                      $(this).css('background-color','#cccccc');

5 个答案:

答案 0 :(得分:0)

这里你去(使用jquery版本1.11):

 $('table tr td').each(function() {

        if ($(this).text()==='0'){

            $(this).css('background-color', 'black');}
     });

工作示例:

http://jsfiddle.net/3He4q/1/

答案 1 :(得分:0)

尝试以下代码

$('tr td').each(function() {

        if ($(this).children("input").val() ==='0'){

            $(this).css('background-color', 'black');}
     });
    });

演示: - http://jsfiddle.net/DXQ5j/1/

您需要将值设置如下: -

 for(var i=1;i<=6;i++)
    {
        $("#"+i).val(0);
    }

而不是

 for(var i=1;i<=6;i++)
    {
        $("#"+i).val()=0;
    }

答案 2 :(得分:0)

这是你的解决方案,实际上你错误地使用了赋值运算符val: 你所做的html部分也令人毛骨悚然:P。

$(document).ready(function () {
    for (var i = 1; i <= 6; i++) {
        $("#" + i).val(0);
    }

  //  if ($('tr td').text()==='0'){ $(this).css('background-color', //'#cccccc');}
    $('input').each(function() {

        if ($(this).val()==='0'){

            $(this).css('background-color', 'black');}
     });   

});

小提琴:

http://jsfiddle.net/DXQ5j/7/

答案 3 :(得分:0)

鉴于更正后的HTML,我建议采用以下方法:

// select all input elements, filter that collection:
$('input').filter(function(){
    // keep only those input elements whose value is equal to 0:
    return 0 === parseInt(this.value,10);
// select the closest ancestor 'td' element:
}).closest('td')
// set the background-color of those 'td' elements:
.css('background-color','black');

JS Fiddle demo

虽然使用addClass()稍微好一些,但颜色可以更容易地改变,并且不变:

$('input').filter(function(){
    return 0 === parseInt(this.value,10);
}).closest('td').addClass('zeroValueInput');

JS Fiddle demo

参考文献:

答案 4 :(得分:0)

$(document).ready(function(){
        for(var i=1;i<=6;i++)
    {
  

$(&#34;#&#34 + I).VAL()= 0;

//错误:使用你在下面的if条件中使用的赋值,即$(&#34;#&#34; + i).val(0);

  

if($(&#39; tr td&#39;)。children(&#39; input&#39;)。val(0))

//错误:&#34;这是分配,如果成功则返回&#34;。不比较。

  

$(本)的CSS(&#39;背景色&#39;&#39;#CCCCCC&#39);

//错误:你怎么能如此确定&#34;这个&#34;将包含所需元素的参考?像使用其他帖子一样使用每个运营商。

    });