动态地将颜色设置为tr

时间:2015-02-14 06:34:56

标签: javascript php html

我正在开发一个php项目,我有一个日历和一些来自数据库的日期。当我从日历中选择日期时,来自数据库的数据会突出显示。但这并不适用于所有日期。通过javascript我可以添加背景颜色但不显示。 我是从javascript做的。

这是我的javaScript代码

<script type="text/javascript">
    var cal_1 = new Calendar({
        element: 'calendar_1',
        inline: true,
        months: 3,
        dateFormat: 'm/d/Y',
        onSelect: function (element, selectedDate, date, cell) {
        debugger;

            var sd =selectedDate.split("/");
            var newdate = sd[2]+"-"+sd[1]+"-"+sd[0];
            var startDate = "startDate";
            var count = document.getElementById('countResult').value;
            for(var i=1; i<= count;i++)
            {
             var start_date = document.getElementById(startDate+i).value;
             var month = sd[0]-1;
             var selectedDate = new Date(ss[2],month,ss[1]);
             var splittedDate = start_date.split("-");
             var startDateInTextBox = new Date(splittedDate[0],splittedDate[1]-1,splittedDate[2]);
             if(selectedDate.valueOf() === startDateInTextBox.valueOf())
             {

                document.getElementById("tr_id"+i).style.backgroundColor = "lightGreen";

             }
             else
             {
                document.getElementById("tr_id"+i).style.backgroundColor = "#FFFFFF";
             }
            }

            document.getElementById('date_1').value = newdate;


        }
    });


    </script>

但是当我检查我的HTML时,我可以看到背景颜色已添加到tr但它不显示颜色。 有人可以帮助我。

提前致谢。

1 个答案:

答案 0 :(得分:3)

TR充满了TD,颜色不可见(在TD之后)。使用以下:

if (selectedDate.valueOf() === startDateInTextBox.valueOf())
{
   var tr = document.getElementById("tr_id"+i);
   var tds = tr.children;
   for (var i = 0; i < tds.length; i++) {
     var td= tds[i];
     td.style.backgroundColor = "lightGreen";
   }
}