Javascript 单击表中的每个单元格后,如何弹出警报?

Javascript 单击表中的每个单元格后,如何弹出警报?,javascript,jquery,html,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</t

如果我的表格中的所有单元格都已单击,我希望弹出一个警报

<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号单元格,就会弹出警报。我想要的是,当每个单元格都已单击时,才会显示警报。

'1'&&&'2'&'3'&'4'&'5'等同于'5'在字符串上不是这样的


您可能想做的是观察所有单元格的单击情况,将单击时的类更改为“clicked”,然后检查5个单元格是否具有“clicked”类。

如果您想将每个单元格设置为单击时分别具有红色背景,则会这样做,并在所有5个单元格单击后发出警报

$“一,二,三,四,五”。单击函数{ $this.toggleClassredbg; 如果$'.redbg'.length==5 警惕‘宾果!’; }; .redbg { 背景:红色; } 1. 2. 3. 4. 5.
您不需要为一个选择硬编码所有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>

您知道如何使用jQuery选择元素吗?请阅读关于如何使用多个选择器的。您的代码就是这个$'5'。单击函数{根据AND运算符的工作方式,我不完全确定您要问什么,但我假设您只想在所有五个TDs都被单击后才显示警报,对吗?此外,您不需要内联onclick事件,将它们移动到jQuery以将脚本都保存在一个位置。您想要做的是逻辑,只有这些代码无法知道如果所有的元素都被点击了。你需要自己编写逻辑代码。你怎么做?你需要跟踪点击的内容,然后看看是否选择了所有正确的内容。还要注意,选择器是无效的。jQuery允许它,但这不会改变它无效的事实。在CSS中,ID选择器不能以digit.IDs可以-对ID的唯一限制是它不能有任何空格-但不能有CSS ID选择器。可能值得调用它并展示正确的实践。最简单的方法就是不要以数字开始ID;在这种情况下,最好使用类。应该只是对我的答案的注释。