我想检查一下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')
确定是否未定义的最佳方法是什么?
答案 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.");
}
请注意,使用===
代替==
被认为是更好的风格。