【问题标题】:Access row in html table访问 html 表中的行
【发布时间】:2013-05-17 22:11:11
【问题描述】:

我正在使用以下函数(从本网站复制)删除 HTML 表格行,

function delete_row(o) {

 var p=o.parentNode.parentNode;
 alert(p.value)//I need to alert the value of the row 
 p.parentNode.removeChild(p);

}

上述函数在删除行时工作正常,但我还需要在删除 HTML 行之前获取行/列的文本,这样我也可以从 MySQL 数据库中删除它,我尝试了 p.value 和p[0].value 但这没有帮助,我找不到如何做到这一点。

我如何从上面的 p 访问(第 1 行,第 1 单元格)下表(第 1 行,第 2 单元格)?

<table border="1">
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
<td> <img src="delete.png" name="image" width="10" height="10" onclick="delete_row(this)"> 
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
<td> <img src="delete.png" name="image" width="10" height="10" onclick="delete_row(this)"> 
</tr>
</table> 

【问题讨论】:

  • 根据客户端文本字段从数据库中删除一行是一个坏主意(tm)的级别数是惊人的。
  • 你通过删除节点来搞乱你的表结构,你可能只需要清空他们的innerHTML或使用其他方法,再次你更新的问题不是很清楚,我不确定你想要达到的目标。
  • 所以我尝试先从 DB 中删除,然后从 HTML 表中删除该行。

标签: javascript html web-applications


【解决方案1】:

你需要尝试访问innerHtml属性:

alert(p.innerHTML);

alert(p.innerText);

这是jsfiddle

【讨论】:

  • innerText 只会给你文本部分,如果你想要的话
  • 我修好了,原来是innerHtml,应该是innerHTML,你可以看看jsfiddle。
  • 有可能做这样的 p.firstrow.text 吗?
  • 有一个p.firstChild,建议你使用chrome的开发工具F12,然后调试看看p有什么功能。
【解决方案2】:

使用p.innerText 而不是p.value,如下所示:

alert(p.innerText);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-04
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2017-02-21
    相关资源
    最近更新 更多