javascript - 使用javascript从表中删除行时如何防止页面刷新?

标签 javascript

我有一个带有表格的网页,表格的每一行都有一个“删除行”链接。

问题是,当我点击删除行时,浏览器会刷新页面。我如何防止他的发生?

这是一个功能完整的 HTML 页面。尝试一下,向下滚动到行,单击链接会使滚动条跳回顶部:

注意:我使用的是 Firefox 11。

<SCRIPT language="javascript">

function deleteRow(rowID) {
  try {
    var table = document.getElementById("mytable");
    var iRowIndex = 0;
    while (iRowIndex < table.rows.length) {
      var row = table.rows[iRowIndex];
      if (row.id == rowID) {
        table.deleteRow(iRowIndex);
      } else {
        iRowIndex++;
      }
    }
  } catch (e) {
    alert(e);
  }
}

</SCRIPT>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>


<table id="mytable">
  <tr id="foo" >
    <td>FOO</td>
    <td>
       <a href="#" onclick="deleteRow('foo')">remove</a>
    </td>
  </tr>
  <tr id="bar" >
    <td>BAR</td>
    <td>
       <a onclick="deleteRow('bar')">remove</a>
    </td>
  </tr>
</table>

有什么想法吗?

最佳答案

您的页面刷新的原因是因为您的 anchor 标记中的 href="#"。删除它应该会使您的示例工作。

删除 href="#" 片段也会删除悬停在 anchor 元素上的选择器光标。如果您希望保持该样式,只需使用一点 CSS 即可轻松修复。

.myAnchor:hover {
    cursor: pointer;
}

关于javascript - 使用javascript从表中删除行时如何防止页面刷新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11619300/

相关文章:

javascript - JS 中的图像数据

javascript - JWPlayer、DIV、jQuery

javascript - 如何统计选中的文件

javascript - 如何动态改变文本的颜色?

javascript - 使用 asp.net 按钮执行 javascript 代码

javascript - 我如何在 JavaScript 中准备嵌套键值对列表

javascript - 如何用highchart制作讲台

javascript - 在 for-in 循环中对特定数组属性使用 JS Array.Reduce

javascript - jQuery.bind() 和 jQuery.on() 有什么区别?

javascript - 需要将包含img url的Json链接放在<img ng-src中