如何使用JavaScript数组获取和设置HTML标签的值?

3

我希望可以根据以下代码的条件,对日期数值通过高亮颜色来突出显示多行:

我在PHP中使用foreach()从数据库检索from_dateto_date,将其提取到表格的行中,并且如果from_dateto_date的值符合下面的JavaScript条件,我想要用红色突出显示表格的某些行。

但我不知道如何使用JavaScript代码找到所有HTML的id选择器,并将其颜色设置为红色、黑色或蓝色,如果from_dateto_date符合条件。

<table>
   <tr class="highlight">
      <td>ID:</td>
      <td id="from">From Date: 2014-11-28</td>
      <td id="to">To Date: 2014-11-30</td>
   </tr>
   <tr class="highlight">
      <td>ID:</td>
      <td id="from">From Date: 2014-11-28</td>
      <td id="to">To Date: 2014-11-28</td>
   </tr>
   <tr class="highlight">
     <td>ID:</td>
     <td id="from">From Date: 2014-11-28</td>
     <td id="to">To Date: 2014-11-28</td>
  </tr>
  <tr class="highlight">
     <td>ID:</td>
     <td id="from">From Date: 2014-11-28</td>
     <td id="to">To Date: 2014-12-01</td>
  </tr>
  <tr class="highlight">
     <td>ID:</td>
     <td id="from">From Date: 2015-01-01</td>
     <td id="to">To Date: 2015-01-30</td>
  </tr>
</tabl>

如上所述的HTML代码,我想在JavaScript中使用数组来检查所有ID HTML选择器以检查其from_dateto_date值,并根据条件设置红色突出显示类(class="highlight")。

            <script> 
            var today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
            var from_day = document.getElementById("from");
            var to_day   = document.getElementById("to");
            var highlight = [];

            var get_from_day = new Date(from_day);
            var get_to_day   = new Date(to_day);

            var i = document.getElementById();

            if(get_from_day.getTime() == get_to_day.getTime()){
                 highlight[] = "red";
                        }
            if(get_from_day.getTime() > get_to_day.getTime()){
                highlight[] = "blue";
                        }
            if(get_to_day.getTime() == today.getTime()){
                highlight[] = "black";
            }else{
                if(highlight){
                    for(i=0;i<=;i++){
            document.getElementById("highlight").style.background-color = highlight;
                        }
                }
            } 
        </script>

Thanks advance for help


你能告诉我什么情况下需要显示红色吗?这个条件是在 PHP 函数中还是需要在 JS 中编写? - Pranav
如果您可以使用PHP完成此操作,则在迭代元素时,可以为满足条件的行分配样式类。 - Pranav
我想使用Js查找所有Id选择器,并在from_date和to_date满足我的条件时将其background-color设置为红色。 例如:如果(from_date == to_date){set id="highlight" css = red} - Cootel Kh
如果您能发布一个HTML输出的示例,那就太好了。仅有PHP代码,我们无法知道HTML输出的样子。 - Terry
好的,我会编辑我的问题。 - Cootel Kh
1个回答

1
将fromDate和toDate分配为类名给eg。
<td class="fromDate " id="<?php echo "from".$i;?>">from date</td>
<td class="toDate"  id="<?php echo "to".$i;?>">To date</td>

尝试这个。
$('#mytab1 tr').each(function(){

   $(this).find('td').each(function(){
      if($(this).attr("class")=="fromDate")
      {
        var fromdata=$(this).text();
        // Apply your checking and applying color logic here
      }
      else if($(this).attr("class")=="toDate")
      { 
         var todata=$(this).text();
        // Apply your checking and applying color logic here
      }
   });
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接