如何在点击时将span的值传递给回调?
<span class="test" onClick="testFunction(this);">Test</span>
function testFunction(e) {
alert(JSON.stringify(e));
}
但我总是处于警戒状态
{}
如何从span传递/提取文本? 我需要onClick内部标记,而不是以另一种方式附加。
答案 0 :(得分:4)
您正在将元素正确传递给函数。
当您使用JSON.stringify
时,您无法获得任何结果。元素只在其原型中定义了成员,它没有任何成员添加到对象实例本身。 stringify
函数只包含对象实例的成员,而不是其原型的成员,因此您就像在空对象上调用它一样。
如果从元素中获取某些属性并显示该属性,您会看到实际上有一个对它的引用:
function testFunction(e) {
alert(e.tagName); // shows "SPAN"
}
或:
function testFunction(e) {
alert(e.innerHTML); // shows "Test"
}
答案 1 :(得分:3)
您可以执行以下操作:
<span class="test" onClick="testFunction(this);">Test</span>
function testFunction(elem) {
alert(elem.innerHTML);
}
答案 2 :(得分:1)
要获取span标记(或任何HTML标记)中的内容,可以使用元素的innerHTML属性。 E.g,
function testFunction(e) {
alert(e.innerHTML);
}