Как проверить наличие идентификатора с помощью jQuery? - PullRequest
30 голосов
/ 10 августа 2009

Я хочу получить строку кода, подобную приведенной ниже:

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

Однако идентификатор 'input-name' не гарантированно существует. Как проверить его существование, чтобы присвоение не выдало ошибку?

Ответы [ 4 ]

57 голосов
/ 10 августа 2009
if ($('#input-name').length) {
  // do something
}
3 голосов
/ 10 августа 2009

Проверьте .length или .size () на объекте. Выбор не будет неудачным, jQuery всегда будет возвращать объект.

1 голос
/ 10 августа 2009

В моем тесте присвоение не вызвало ошибки, оно просто вернуло undefined.

В этом случае решение будет следующим:

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

Или, может быть:

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

... если это имеет смысл в вашем случае.

0 голосов
/ 10 августа 2009
var name;
if ($('#input-name').length > 0)   
name= $('#input-name').attr("value");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...