2010-06-06 51 views
7

Có một số yếu tố được chọn bởi $(".foo"). $(".foo").text() trả về văn bản của từng phần tử được nối với nhau. Tôi chỉ muốn văn bản của một phần tử. Cách tốt nhất để làm việc này là gì?jQuery: Nhận một trong các bộ phần tử đã chọn

$(".foo")[0].text() không thành công.

Trả lời

12

Bạn muốn sử dụng .eq(0), như thế này:

$(".foo").eq(0).text() 

Khi bạn làm $(".foo")[0] hoặc $(".foo").get(0) bạn đang nhận được Phần tử DOM, không phải là jQuery đối tượng, .eq() sẽ nhận được các đối tượng jQuery, có phương thức .text().

2

Thông thường, sử dụng cú pháp chọn # chọn một thành phần bởi id giá trị thuộc tính. Bạn có nhiều hơn một phần tử có cùng giá trị thuộc tính id không? Nếu có, thì bạn cần sửa HTML của mình. id giá trị thuộc tính phải là duy nhất trong tài liệu.

+0

Với ví dụ này là '# foo', tôi nghĩ rằng đây là một sự giám sát câu hỏi, chứ không phải là vấn đề thực tế ... –

+0

@Nick đó là chính xác. –

1

Các mục trong mảng jQuery luôn trả về các phần tử dom (không phải các phần tử được bao bọc bởi jQuery). Bạn có thể làm một cái gì đó như:

 
$($("#foo")[0]).text() 
+1

Đây là cách đắt tiền hơn nhiều để sử dụng :) –

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