$ (this) .val () jquery kullanarak aralıktan metin almak için çalışmıyor


98

Bu html'yi vererek, tıkladığımda ondan "Ağustos" u kapmak istiyorum:

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

denedim

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

ama çalışıyor gibi görünmüyor

Yanıtlar:


212

Yerine .val()kullanımı .text(), örneğin:

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

Veya jQuery 1.7+ sürümünde kullanımdan kaldırıldığı on()gibi kullanın live:

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

.val()giriş türü öğeler içindir (metin alanları ve açılır menüler dahil), metin içeriği olan bir öğeyle uğraştığınız için .text()burayı kullanın .


3
NOT: .live()1.7'de kullanımdan kaldırıldı ve 1.9+ sürümünde kaldırıldı
Darren

Hem .html () hem de .text (), span öğem için çalıştı.
lft93ryt


8

Otomatik olarak oluşturulan bir aralık değerinin metnini almak için şunu yapın:

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

5

-Yukarıdakilerden hiçbiri benim için sürekli olarak çalışmadı. İşte benim geliştirdiğim ve temel işlevleri kullandığı için tüm tarayıcılarda tutarlı bir şekilde çalışan çözüm. Umarım bu başkalarına yardımcı olabilir. JQuery 8.2'yi kullanma

1) "span" için jquery nesnesini alın. 2) DOM nesnesini yukarıdan alın. Jquery .get (0) kullanarak 3) DOM nesnesinin innerText kullanarak metni elde edin.

İşte basit bir örnek

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

HTML

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

4

Ve veya öğelerinin .html()içeriğini almak için kullanabilirsiniz .spandiv

misal:

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

3

İşte başlıyoruz:

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

Umarım yardımcı olur;)


1

.val()giriş öğeleri içindir, .html()bunun yerine kullanın

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.