Ответ 1
if ($('#input-name').length) {
// do something
}
Я хочу иметь строку кода, подобную приведенной ниже:
var name = $('#input-name').attr("value");
Однако идентификатор 'input-name' не гарантированно существует. Как проверить его существование, чтобы присвоение не выдавало ошибку?
if ($('#input-name').length) {
// do something
}
Проверьте на .length или .size() объект. Выбор не будет терпеть неудачу, jQuery всегда будет возвращать объект.
В моем тесте назначение не вызвало ошибку, оно просто вернуло undefined
.
В этом случае решение будет следующим:
var name = $('#input-name').attr("value");
if (name) {
// blah blah
}
Или, может быть:
var name = $('#input-name').attr("value") || 'defaultValue';
... если это имеет смысл в вашем случае.
var name;
if ($('#input-name').length > 0)
name= $('#input-name').attr("value");