我有一个动态创建的表。 每行都有一个按钮。
当我按下一行上的按钮时,我希望它能在特定单元格中获取文本。
这样的事情:
我有一张这样的表:
<table>
<tr>
<td>Test 1 Here</td>
<td>Other Text Here</td>
<td><button onclick="getData(this.cell[1].innerHtml)">Get Data</button></td>
</tr>
</table>
如何使用纯javascript或打字稿?
答案 0 :(得分:1)
我认为您正在尝试获取第一个单元格文本,您可以使用parentNode
/ childNodes
获取行中所有tds
的列表,然后选择你想要的索引。
function getData(x)
{
console.log(x.parentNode.parentNode.childNodes[1].innerHTML)
console.log(x.parentNode.parentNode.childNodes[3].innerHTML)
}
<table>
<tr>
<td>Test 1 Here</td>
<td>Other Text Here</td>
<td><button onclick="getData(this)">Get Data</button></td>
</tr>
</table>
答案 1 :(得分:0)
在你的getData函数设置中,this
将引用被点击的按钮 - 按钮没有“cell”属性。
我建议:
<button onclick="getData(this)">Get Data</button>
然后
function getData(btn) {
var tr = btn.parentNode.parentNode; // the parent of btn is the td, the parent of td is the tr.
var td = tr.getElementsByTagName("td")[0]; // get the first TD in the TR
console.log(td.innerHTML); // log the content of the TD
}