使用javascript、dojo或jquery获取调用html元素的句柄

rvpgvaaj  于 2022-12-08  发布在  Dojo
关注(0)|答案(1)|浏览(192)

我有下表:

<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,这不是我的情况。

x8diyxa7

x8diyxa71#

您可以使用event.target来定位单击的元素,然后使用textContent获取内容,如下所示:

var innerHtml = event.target.textContent;

注1:td应在tr之前关闭,因此在末尾使用</td></tr>而不是</tr></td>
**注2:**您在传递给console.log()的变量中输入了一个排印错误,它应该是innerHtml而不是innnerHtml
**注3:**由于列中没有HTML,因此最好使用textContent而不是innerHTML

第一次

相关问题