所以我想为一个元素的文本设置一个变量当该元素被点击时:
$('.clickme').click(function() {
var selected;
var selected = this.text();
});
我看过文档,我相信这应该可以工作。知道是什么问题吗?
尝试:
var selected = $(this).text();
如果运气不好,也许它是form元素,所以它有value:
var selected = $(this).val();
如果仍然没有运气,让我们知道什么是clickme
(div?Span ?),并尝试将此作为"最后的手段":
var selected = $(this).html();
如果.clickme是输入或textarea:
var selected;
$('.clickme').click(function()
{
selected = $(this).val();
});
其他:var selected;
$('.clickme').click(function()
{
selected = $(this).text();
});
你需要用jQuery对象包装this
…
var selected = $(this).text();
如果你的监听器是在一个按钮上,IE不知道文本和值属性之间的区别,jQuery不能修复它,getAttribute也没有帮助。您需要使用getAttributeNode:
<button value="the value"
onclick="alert(this.getAttributeNode('value').value);">The text</button>