我有下表:
<table>
<tr><td><span onClick='toggleFunction();'>ABC</span></td></tr>
<tr><td><span onClick='toggleFunction();'>PQR</span></td></tr>
<tr><td><span onClick='toggleFunction();'>XYZ</span></td></tr>
<tr><td><span onClick='toggleFunction();'>LMN</span></td></tr>
</table>
HTML是动态生成的。
function toggleFunction() {
var innerHtml = //code to get inner html of calling element here
console.log(innerHtml);
}
我想获取span
的内部html,通过onClick
调用toggleFunction()
。
例如,当点击位于第1行时,控制台应打印ABC
。但当点击位于第3行时,应打印XYZ
。
这可以通过Javascript或Dojo实现吗?我不能使用Jquery。但是,我想知道这是否可以使用Jquery。
请注意,span
元素没有任何id。
这不是其他问题的重复:
1)接受的解决方案使用内联JavaScript只是为了提醒innerHTML。然而,对我来说,我只想要一种获得句柄的方法,这样我就可以在我的函数内部做更多所需的处理。
2)关于这个问题的其他答案是使用元素id,这不是我的情况。
1条答案
按热度按时间x8diyxa71#
您可以使用
event.target
来定位单击的元素,然后使用textContent
获取内容,如下所示:注1:
td
应在tr
之前关闭,因此在末尾使用</td></tr>
而不是</tr></td>
。**注2:**您在传递给
console.log()
的变量中输入了一个排印错误,它应该是innerHtml
而不是innnerHtml
。**注3:**由于列中没有HTML,因此最好使用
textContent
而不是innerHTML
。第一次