使用jquery从span获取文本

时间:2010-08-25 15:55:02

标签: jquery html

给这个HTML,我想点击它时抓住它的“八月”:

<span class="ui-datepicker-month">August</span>

我试过

$(".ui-datepicker-month").live("click", function () {
    var monthname =  $(this).val();
    alert(monthname);
});

但似乎没有工作

7 个答案:

答案 0 :(得分:197)

而不是.val()使用.text(),如下所示:

$(".ui-datepicker-month").live("click", function () {
    var monthname =  $(this).text();
    alert(monthname);
});

或者在jQuery 1.7+中使用on(),因为live已被弃用:

$(document).on('click', '.ui-datepicker-month', function () {
    var monthname =  $(this).text();
    alert(monthname);
});

.val()用于输入类型元素(包括textareas和下拉列表),因为您正在处理带有文本内容的元素,请在此处使用.text()

答案 1 :(得分:19)

我想你想要.text()

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

答案 2 :(得分:8)

要检索自动生成的跨度值的文本,请执行以下操作:

var al = $("#id-span-name").text();    
alert(al);

答案 3 :(得分:5)

以上其中一个一直对我有用。所以这里是我解决的解决方案,它使用基本功能在所有浏览器中一致地工作。希望这可以帮助别人。使用jQuery 8.2

1)获取“span”的jquery对象。 2)从上面获取DOM对象。使用jquery .get(0) 3)使用DOM的对象的innerText获取文本。

这是一个简单的例子

var curSpan = $(this).parent().children(' span').get(0);
var spansText = curSpan.innerText;

HTML

<div >
<input type='checkbox' /><span >testinput</span> 
</div>

答案 4 :(得分:4)

您可以使用.html()获取span和/或div元素的内容。

示例:

    var monthname =  $(this).html();
    alert(monthname);

答案 5 :(得分:1)

.val()用于输入元素,使用.html()代替

答案 6 :(得分:1)

我们走了:

$(".ui-datepicker-month").click(function(){  
var  textSpan = $(this).text();
alert(textSpan);   
});

希望它有所帮助;)