$ (this) .val () не работает для получения текста из диапазона с помощью jquery


98

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

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

Я попытался

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

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

Ответы:


210

Вместо .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()здесь.


3
ПРИМЕЧАНИЕ: .live()устарело в 1.7 и удалено в 1.9+
Даррен

Оба .html () и .text () работали для моего элемента span.
lft93ryt


8

Чтобы получить текст автоматически созданного значения диапазона, просто сделайте следующее:

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

5

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

1) Получите объект jquery для "диапазона". 2) Получите объект DOM сверху. Использование jquery .get (0) 3) Использование innerText объекта DOM для получения текста.

Вот простой пример

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

HTML

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

4

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

пример:

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

3

Вот так:

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

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.