给这个HTML,我想点击它时抓住它的“八月”:
<span class="ui-datepicker-month">August</span>
我试过
$(".ui-datepicker-month").live("click", function () {
var monthname = $(this).val();
alert(monthname);
});
但似乎没有工作
答案 0 :(得分:197)
$(".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);
});
希望它有所帮助;)