2009-08-09 42 views
28

Tôi muốn có một dòng mã tương tự như dưới đây:Cách kiểm tra sự tồn tại ID bằng jQuery?

var name = $('#input-name').attr("value"); 

Tuy nhiên, id 'đầu vào-tên' không được đảm bảo để tồn tại. Làm cách nào để kiểm tra sự tồn tại của nó để bài tập không đưa ra lỗi?

+1

Chỉ cần thêm, nếu nó * là * , bạn có thể chỉ cần sử dụng .val() – Marc

Trả lời

52
if ($('#input-name').length) { 
    // do something 
} 
+0

@ScottE: mẹo hay để giải quyết vấn đề tương tự cho tôi! thx cho điều này :) chỉ BTW, có vẻ như bạn đã thêm một dấu; đó là không cần thiết? –

+0

Có, đúng. Đã chỉnh sửa. – ScottE

3

Kiểm tra .length hoặc .size() trên đối tượng. Việc chọn sẽ không thất bại, jQuery sẽ luôn trả về một đối tượng.

0
var name; 
if ($('#input-name').length > 0) 
name= $('#input-name').attr("value"); 
+0

không cần cho> 0 – redsquare

1

Trong bài kiểm tra của tôi, bài tập không gây ra lỗi, chỉ đơn giản là trả về undefined.

Trong trường hợp này, giải pháp sẽ được như sau:

var name = $('#input-name').attr("value"); 
if (name) { 
    // blah blah 
} 

Hoặc có thể:

var name = $('#input-name').attr("value") || 'defaultValue'; 

... nếu điều đó có ý nghĩa trong trường hợp của bạn.

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