[英]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.