如何在单击表格中的每个单元格时弹出警报?

时间:2017-11-01 16:29:46

标签: javascript jquery html

如果我的表格中的所有单元格都已被点击,我想弹出一个警告。

<td id="1" onclick="this.style.backgroundColor = 'Red';">1</td>
<td id="2" onclick="this.style.backgroundColor = 'Red';">2</td>
<td id="3" onclick="this.style.backgroundColor = 'Red';">3</td>
<td id="4" onclick="this.style.backgroundColor = 'Red';">4</td>
<td id="5" onclick="this.style.backgroundColor = 'Red';">5</td>

(我将背景设为红色,以便我知道它已被点击)。这是我一直试图开始工作的脚本:

<script>
  $(document).ready(function () {
    $('#1' && '#2' && '#3' && '#4' && '#5' ).click( function() {
       alert('Bingo!'); });
  });
</script>

如果我立即点击第5个单元格,则会弹出警告。我想要的是当每个单元格都被点击时,只有然后才能显示警报。

3 个答案:

答案 0 :(得分:2)

如果您想要将每个单元格设置为单独点击一个红色背景,则会像这样完成,并在点击所有5个单元格后发出警告。

&#13;
&#13;
$('#one, #two, #three, #four, #five').click( function() {
    $(this).toggleClass("redbg");
    
    if($('.redbg').length == 5)
      alert('Bingo!');
});
&#13;
.redbg
{
  background: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td id="one">1</td>
    <td id="two">2</td>
    <td id="three">3</td>
    <td id="four">4</td>
    <td id="five">5</td>
  </tr>
</table>
&#13;
&#13;
&#13;

另外,作为T.J.克劳德在下面的评论中指出。使用数值启动ID对CSS无效。您可以使用类标识符,但不能使用ID。我已在此示例中更改了您的ID。

答案 1 :(得分:0)

'#1' && '#2' && '#3' && '#4' && '#5'相当于'#5'。字符串上的&&不起作用。

您可能想要做的事情就像观看所有这些内容进行点击,将点击更改为“点击”,然后检查5个单元格是否有“点击”类。

答案 2 :(得分:0)

您无需为所选内容硬编码所有ID;我们也可以选择HTML元素。

<!DOCTYPE html>
    <html>
    <head>
    <style>
    .bgColor {
      background-color: red;
    }
    </style>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
           $("td").click(function(){
            $(this).toggleClass("bgColor");

        if($('.bgColor').length == 5)
          alert('Bingo!');
          });
    });
    </script>
    </head>
    <body>
    <table>
      <tr>
        <td id="1">1</td>
        <td id="2">2</td>
        <td id="3">3</td>
        <td id="4">4</td>
        <td id="5">5</td>
      </tr>
    </table>
    </body>
    </html>