$ (this) .val () не працює, щоб отримати текст із розмаху за допомогою jquery


97

Даючи цей 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 для "span". 2) Отримати об’єкт DOM зверху. Використання jquery .get (0) 3) Використання внутрішнього тексту об'єкта 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);   
});

Сподіваюся, це допомагає;)


1

.val()для елементів введення, .html()замість цього використовуйте

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.