使用 javascript 或 dojo 或 jquery 获取调用 html 元素的句柄
Getting handle on the calling html element using javascript or dojo or jquery
我有以下 table:
<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 只是为了提醒内部 HTML。然而,对我来说,我只是想要一种获得句柄的方法,这样我就可以在我的函数中做更多需要的处理。
2)该问题的其他答案都使用元素id,这不是我的情况。
您可以使用 event.target
定位点击的元素,然后使用 textContent
获取内容,例如:
var innerHtml = event.target.textContent;
注意 1: td
应该在 tr
之前关闭,所以在最后使用 </td></tr>
而不是 </tr></td>
.
注意 2: 您在传递给 console.log()
的变量中有错字,应该是 innerHtml
而不是 innnerHtml
。
注意 3: 因为您在列中没有 HTML,所以最好使用 textContent
而不是 innerHTML
。
function toggleFunction() {
var innerHtml = event.target.textContent;
console.log(innerHtml);
}
<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>
我有以下 table:
<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 只是为了提醒内部 HTML。然而,对我来说,我只是想要一种获得句柄的方法,这样我就可以在我的函数中做更多需要的处理。
2)该问题的其他答案都使用元素id,这不是我的情况。
您可以使用 event.target
定位点击的元素,然后使用 textContent
获取内容,例如:
var innerHtml = event.target.textContent;
注意 1: td
应该在 tr
之前关闭,所以在最后使用 </td></tr>
而不是 </tr></td>
.
注意 2: 您在传递给 console.log()
的变量中有错字,应该是 innerHtml
而不是 innnerHtml
。
注意 3: 因为您在列中没有 HTML,所以最好使用 textContent
而不是 innerHTML
。
function toggleFunction() {
var innerHtml = event.target.textContent;
console.log(innerHtml);
}
<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>