2013-06-25 52 views
5

Điều này thực sự làm chậm tiến trình của tôi sáng nay. Bất kỳ sự giúp đỡ nào cũng không thể tin được. Đây là mã của tôi mà tôi đang sử dụng để cố gắng lấy từng hộp văn bản:Làm cách nào để nhận tất cả các hộp văn bản trong một div nhất định dựa trên tên lớp của nó?

$('.contactInfo input[type="text"]').each(function() { 

}); 

Mã trên hoạt động nhưng nó vẫn giữ các hộp chọn. Tôi đã thử sử dụng dấu hai chấm ở giữa tên lớp và mã định danh kiểu nhập cũng như một số cách khác để lấy từng hộp văn bản (: đầu vào,: văn bản, loại = văn bản, v.v.). Hãy tha thứ cho phong cách của tôi ở đây vì tôi hoàn toàn mới để đặt câu hỏi và chưa nhận được định dạng.

Lưu ý: .contactInfo là lớp được gán cho div chứa các hộp văn bản tôi muốn nhận. Ngoài ra, tôi đang sử dụng plugin jquery được chọn để tạo kiểu cho các hộp chọn của tôi. Điều này có thể hoặc có thể không liên quan gì đến vấn đề của tôi, chỉ muốn cho bạn biết tất cả.

Cảm ơn bạn trước vì bất kỳ điều gì mà các bạn có thể giúp tôi!

Cập nhật: Tôi đã thử mọi giải pháp được liệt kê ở đây. Tuy nhiên, mỗi cái lấy hộp chọn, nó không trả về id của nó. Vì vậy, tôi chỉ sử dụng một workaround kiểm tra nếu id của nó là null để tôi có thể bỏ qua nó trong vòng lặp. Tôi thực sự đánh giá cao từng bạn về đầu vào của bạn! Cảm ơn!

+1

Sẽ tốt hơn nếu bạn hiển thị html của mình. –

+0

'$ ('input.contactInfo [type =" text "]') mỗi (function() { });' – tymeJV

+0

kế hoạch làm gì với hộp văn bản bên trong div? – Learner

Trả lời

6

Xem http://api.jquery.com/text-selector/:

$('.contactInfo input:text')

+1

Bạn thậm chí không cần 'đầu vào: văn bản', nó thừa. ': text' chọn cho đầu vào của văn bản kiểu. –

+1

@SurrealDreams: Tuy nhiên, việc thêm 'input' làm cho nó nhanh hơn. Xem tài liệu. – SLaks

+0

Tôi đã không bắt gặp về: pseudoselectors, cảm ơn đã chỉ ra cho tôi. 'đầu vào: văn bản' là cách tốt hơn để đi. Cảm ơn, @SLaks. –

0

thử này

$(".contactInfo").children("input[type=text]").each(function(){ 
    //Do stuff here 
}); 
5
$(".contactInfo").find("input[type=text]") 

này nên tìm tất cả các textbox trong div đó (.contactInfo). Một điều cần lưu ý là phương thức find() sẽ nhanh hơn nhiều so với các bộ chọn ngữ cảnh.

http://jsperf.com/jquery-find-vs-context-sel