首页 > 解决方案 > 用 js 和 php 改变 div 背景颜色

问题描述

我正在开发我的第一个自己的网站。我尝试通过将背景色变为红色来显示已预订的电影院座位。我将预订存储在 sql 数据库中。我确实得到了正确的值,我可以在我的网站上显示它,但 getById 仍然不起作用。

这就是我创建要调整的 div 的方式:

      <?php
              for ($i=0; $i < $saalinfo[2]; $i++) {
                echo "<div class='rowsaal'>";
                for ($j=0; $j < $saalinfo[3]; $j++) {
                  $k = $i+1;
    
                  echo "<a onclick='JavaScript:removeday($k$j)';>";
                  echo "<div id='$k$j' class='seat' >";
                  echo "</div>";
                  echo "</a>";
    
                }
                echo "</div>";
              }
           ?>

这是我尝试更改背景颜色的方式。我在其他场合使用了完全相同的 js 措辞,它确实有效,所以我猜我的 id 值不正确:

    function getres(){

      var date = document.getElementById('labeldate').value;

      document.getElementById('showdate').innerHTML = date;

      var booked;

      booked = "<?php echo $dis; ?>"; //$dis is one value i get back from mysqli_fetch_array in this case its 34

      document.getElementById(booked).backgroundColor = "red";

      document.getElementById('showdate').innerHTML = document.getElementById('showdate').innerHTML + booked;

    }

澄清一下:booked 显示正确的值,在这种情况下为 34。在数据库本身中,它保存为 txt 值。如果我查看 html 源代码,我可以看到值 34 是为预订分配的。

booked = "34";

但是 div id 设置为以下模式,因为它在使用 '' 时受到限制,因为它们是在 php 中形成的

</a><a onclick='JavaScript:removeday(34)';><div id='34' class='seat' ></div></a>

我已经遇到了一些问题,使用“”和“”会导致不同的结果。这是同样的情况吗?我该如何解决这个问题?提前谢谢了。

标签: javascriptphphtml

解决方案


我没有检查您的所有代码,但元素上没有“backgroundColor”。您需要样式属性。

document.getElementById(booked).backgroundColor = "red";

应该

document.getElementById(booked).style.backgroundColor = "red";

推荐阅读