2010-08-25 28 views
73

Giving html này, tôi muốn lấy "August" từ nó khi tôi click vào nó:Nhận văn bản từ tuổi sử dụng jquery

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

tôi đã cố gắng

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

nhưng dường như không được làm việc

Trả lời

175

Thay vì sử dụng .val().text(), như thế này:

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

Hoặc trong jQuery 1.7+ sử dụng on() như live bị phản đối:

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

.val() là cho các yếu tố đầu vào loại (bao gồm cả textareas và Dropdowns), kể từ khi bạn đang làm việc với một phần tử với nội dung văn bản, sử dụng .text() đây .

+2

LƯU Ý: '.live()' không được dùng trong 1,7 và r emoved in 1.9+ – Darren

+0

Cả hai .html() và .text() đều làm việc cho phần tử span của tôi. – lft93ryt

17

Tôi nghĩ rằng bạn muốn .text():

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

.val() là cho các yếu tố đầu vào, sử dụng .html() thay

4

-None những điều trên một cách nhất quán làm việc cho tôi. Vì vậy, đây là giải pháp tôi làm việc ra rằng hoạt động liên tục trên tất cả các trình duyệt vì nó sử dụng chức năng cơ bản. Hy vọng điều này có thể giúp đỡ người khác. Sử dụng jQuery 8.2

1) Lấy đối tượng jquery cho "span". 2) Nhận đối tượng DOM từ phía trên. Sử dụng jquery .get (0) 3) Sử dụng innerText của đối tượng DOM nhận được văn bản.

Đây là một ví dụ đơn giản

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

HTML

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

Bạn có thể sử dụng .html() để có được nội dung của span và hay div yếu tố.

dụ:

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

Để lấy nội dung của một ô tô tạo ra giá trị khoảng chỉ làm điều này:

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

Ở đây chúng ta đi:

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

Hy vọng nó giúp;)

Các vấn đề liên quan