我希望有一行代码如下:
var name = $('#input-name').attr("value");
但是,不保证id'input-name'存在。如何检查其存在,以便赋值不会引发错误?
答案 0 :(得分:57)
if ($('#input-name').length) {
// do something
}
答案 1 :(得分:3)
检查对象上的.length或.size()。选择不会失败,jQuery将始终返回一个对象。
答案 2 :(得分:1)
在我的测试中,分配没有导致错误,它只返回undefined
。
在这种情况下,解决方案如下:
var name = $('#input-name').attr("value");
if (name) {
// blah blah
}
或者也许:
var name = $('#input-name').attr("value") || 'defaultValue';
......如果在你的情况下这是有道理的。
答案 3 :(得分:0)
var name;
if ($('#input-name').length > 0)
name= $('#input-name').attr("value");