如何检查元素是否未定义?

时间:2013-03-26 09:33:57

标签: javascript

我想检查一下DOM元素的特定属性是否未定义 - 我该怎么做?

我试过这样的事情:

if (marcamillion == undefined) {
    console.log("Marcamillion is an undefined variable.");
}
ReferenceError: marcamillion is not defined

正如您所看到的,引用错误告诉我该变量未定义,但我的if检查显然无法正常工作,因为它生成标准js ReferenceError而不是我正在console.log中找到错误消息。

修改1

或者更好的是,如果我试图确定元素的属性是否未定义如下:

$(this).attr('value')

确定是否未定义的最佳方法是什么?

2 个答案:

答案 0 :(得分:13)

使用typeof

if (typeof marcamillion == 'undefined') {
    console.log("Marcamillion is an undefined variable.");
}

编辑第二个问题:

if ($(this).attr('value')) {
    // code
}
else {
    console.log('nope.')
}

答案 1 :(得分:5)

if (typeof marcamillion === 'undefined') {
    console.log("Marcamillion is an undefined variable.");
}

请注意,使用===代替==被认为是更好的风格。