将var设置为.text()

时间:2011-04-26 06:44:46

标签: javascript jquery

所以我想在单击该元素时将变量设置为元素的文本:

$('.clickme').click(function() {
    var selected;
    var selected = this.text();
});

我查看了文档,我相信这应该有效。任何想法可能是什么问题?

4 个答案:

答案 0 :(得分:3)

尝试:

var selected = $(this).text();

如果没有运气,也许它是表单元素,因此它具有价值:

var selected = $(this).val();

如果仍然没有运气让我们知道clickme(div?span?)是什么,请将此作为“最后的手段”:

var selected = $(this).html();

答案 1 :(得分:1)

如果输入.clickme或textarea:

var selected;
$('.clickme').click(function()
{
    selected = $(this).val();
});

其他:

var selected;
$('.clickme').click(function()
{
    selected = $(this).text();
});

答案 2 :(得分:1)

您需要使用jQuery对象包装this ...

var selected = $(this).text();

答案 3 :(得分:0)

如果你的监听器在一个按钮上,IE不知道 text value 属性之间的区别,jQuery没有修复它, getAttribute 也没有帮助。您需要使用 getAttributeNode

<button value="the value"
 onclick="alert(this.getAttributeNode('value').value);">The text</button>