繁体   English   中英

访问Java脚本中的单元格文本

[英]Accessing cell text in Javascript

我试图在仅<table>元素具有ID的情况下更改表单元格的文本,例如,在单元格上没有设置ID,例如

<table id="test">
  <tbody>
    <tr>
      <td>Cell 1</td>
      <td>Cell 2</td>
    </tr>
  </tbody>
</table>

那么,如何在Javascript中更改第二个单元格(单元格2)的文本而不显式为其指定ID?

谢谢,

AJ

使用jQuery确实很容易,但是我假设您想使用本机DOM方法。 在这种情况下,

document.getElementById('test').getElementsByTagName('td')[1]

将您带到该表的第二个表单元格。

https://developer.mozilla.org/en/Traversing_an_HTML_table_with_JavaScript_and_DOM_Interfaces

使用jQuery ,此任务将很简单,如下所示:

$('#test td:first').text('Your new text goes here');

我强烈推荐jQuery。 您可能还会获得建议jQuery的其他响应。

这样的事情应该起作用:

document.getElementById('test').childNodes[1].childNodes[1].childNodes[3].innerHTML='changed cell';

对我来说,最明显的方法是像下面的代码那样做:

document.getElementById("test").rows[0].cells[1].innerHTML = "Cell not so 2."

http://www.w3schools.com/jsref/coll_table_cells.asp

如果您要处理大量数据,请不要使用JQuery,因为它很慢。

您可以在此处查看 JQuery处理与本机DOM之间的同情心(如果您遵循该文章中的链接,则该页面上的图形将显示差异有多大)。

您可以使用以下代码使用纯JS来实现:

document.querySelector('#test td:nth-child(2)').innerHTML = 'value changed';

浏览器对此非常支持: http : //caniuse.com/#search=querySelector

编辑

不幸的是, @ Matt Ball的代码更快,如您在此处看到的: JSPerf

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM