将var设置为.text()



所以我想为一个元素的文本设置一个变量当该元素被点击时:

$('.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>