使用jquery从span获取文本

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

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

我试过了

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

但似乎并没有工作

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

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

.val()用于inputtypes的元素(包括textareas和dropdowns),因为你正在处理一个带有文本内容的元素,所以在这里使用.text()

我想你想.text()

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

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

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

上述的一个一直为我工作。 所以这里是我所制定的解决scheme,因为它使用基本的function,所有的浏览器一致工作。 希望这可以帮助别人。 使用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> 

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

例:

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

开始了:

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

希望能帮助到你;)

.val()用于input元素,请改用.html()