Подтвердить что ты не робот

$ (this).val() не работает, чтобы получить текст из span, используя jquery

Предоставляя этот html, я хочу извлечь из него "Август", когда я нажму на него:

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

Я попробовал

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

но, похоже, не работает

4b9b3361

Ответ 1

Вместо .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() для элементов типа ввода (включая текстовые области и раскрывающиеся списки), поскольку вы имеете дело с элементом с текстовым содержимым, используйте здесь .text().

Ответ 2

Я думаю, вы хотите .text():

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

Ответ 3

Для получения текста автоматически генерируемого значения span просто выполните следующее:

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

Ответ 4

-Некоторые из вышеперечисленных последовательно работали для меня. Итак, вот решение, которое я разработал, который работает последовательно во всех браузерах, поскольку он использует базовые функции. Надеюсь, это поможет другим. Использование jQuery 8.2

1) Получить объект jquery для "span". 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>

Ответ 5

Вы можете использовать .html() для получения содержимого элементов span и div.

Пример:

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

Ответ 6

Здесь мы идем:

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

Надеюсь, что это поможет;)

Ответ 7

.val() для входных элементов, используйте .html() вместо