Câu trả lời:
Thay vì .val()
sử dụng .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
không được dùng nữa:
$(document).on('click', '.ui-datepicker-month', function () {
var monthname = $(this).text();
alert(monthname);
});
.val()
là dành cho các phần tử kiểu đầu vào (bao gồm các vùng văn bản và danh sách thả xuống), vì bạn đang xử lý một phần tử có nội dung văn bản, hãy sử dụng .text()
tại đây.
Tôi nghĩ bạn muốn .text()
:
var monthname = $(this).text();
Để truy xuất văn bản của giá trị span được tạo tự động, chỉ cần thực hiện như sau:
var al = $("#id-span-name").text();
alert(al);
-Không có cách nào ở trên luôn hiệu quả với tôi. Vì vậy, đây là giải pháp tôi đã tìm ra hoạt động nhất quán 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 những người khác. Sử dụng jQuery 8.2
1) Lấy đối tượng jquery cho "span". 2) Lấy đố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 để lấy 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>
.live()
không dùng nữa trong phiên bản 1.7 và bị loại bỏ trong phiên bản 1.9+