关于javascript:如何检查元素是否未定义?

How do I check if an element is undefined?

本问题已经有最佳答案,请猛点这里访问。

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

我试过这样的方法:

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

如您所见,引用错误告诉我变量没有定义,但是我的if检查显然不起作用,因为它产生了标准的js ReferenceError,而不是我在console.log中寻找的错误消息。

编辑1

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

$(this).attr('value')

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


使用typeof

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

编辑第二个问题:

1
2
3
4
5
6
if ($(this).attr('value')) {
    // code
}
else {
    console.log('nope.')
}


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

注意,使用===而不是==被认为是更好的样式。