javascript colspan动态删除单元格?

时间:2016-07-22 15:45:04

标签: javascript jquery html

任何人都可以帮我处理我的代码吗? 我尝试在以下操作上制作示例代码: 1.当用户点击按钮时,“hello”将取出单元格1和单元格2,而另一个单元格3到10将保留。 2.当用户再次点击按钮时,没有任何反应。

我尝试在用户点击后将标志设置为false,以便在用户再次点击时不会发生任何事情;但是,它根本不起作用。用户可以单击直到第一行的单元格被删除,只剩下“hello”。

javascript或JQuery中的任何解决方案?我尝试在javascript中搜索静态变量,但似乎不可能。

提前谢谢。

var flag = false;
function clickhere(){
    if(flag = true){
        var cell = document.getElementById('a');
        document.getElementById("row").deleteCell(1);
        cell.setAttribute("colspan", 2);
        cell.innerHTML = "hello";
        flag=false;
    }
}
<table border="1">
    <tr id="row">
        <td id="a">1</td>
        <td id="b">2</td>
        <td id="c">3</td>
        <td id="d">4</td>
        <td id="e">5</td>
    </tr>
    <tr>
        <td id="f">6</td>
        <td id="g">7</td>
        <td id="h">8</td>
        <td id="i">9</td>
        <td id="j">10</td>
    </tr>
</table>
<input type="button" value="Click" onclick="clickhere();"/>

1 个答案:

答案 0 :(得分:0)

您需要处理几个机会。首先,您的 if 正在进行分配而不是比较。由于你的标志是一个布尔值,我们可以直接使用它。其次,你的初始赋值和函数末尾的赋值应该相反。

这是一种可以纠正的方法。

var flag = false;
function clickhere(){
  if(flag){ return; }
  flag = true;

  var cell = document.getElementById('a');
  document.getElementById("row").deleteCell(1);
  cell.setAttribute("colspan", 2);
  cell.innerHTML = "hello";
}
<table border="1">
  <tr id="row">
    <td id="a">1</td>
    <td id="b">2</td>
    <td id="c">3</td>
    <td id="d">4</td>
    <td id="e">5</td>
  </tr>
  <tr>
    <td id="f">6</td>
    <td id="g">7</td>
    <td id="h">8</td>
    <td id="i">9</td>
    <td id="j">10</td>
  </tr>
</table>
<input type="button" value="Click" onclick="clickhere();" />