任何人都可以帮我处理我的代码吗? 我尝试在以下操作上制作示例代码: 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();"/>
答案 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();" />