16

DOM要素の特定の属性が未定義であるかどうかを確認したいのですが、どうすればよいですか?

私はこのようなことを試みました:

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

ご覧のとおり、参照エラーは変数が定義されていないことを示していますが、私のifチェックは明らかに機能していません。これは、ReferenceErrorで探しているエラーメッセージとは対照的に、標準のjsを生成しているためですconsole.log

編集1

またはさらに良いことに、要素の属性が次のように未定義であるかどうかを判断しようとしている場合:

$(this).attr('value')

それが未定義であるかどうかを判断するための最良の方法は何でしょうか?

4

2 に答える 2

26

使用typeof

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

2番目の質問を編集します。

if ($(this).attr('value')) {
    // code
}
else {
    console.log('nope.')
}
于 2013-03-26T09:35:27.747 に答える
7
if (typeof marcamillion === 'undefined') {
    console.log("Marcamillion is an undefined variable.");
}

===の代わりに使用する==方が良いスタイルと見なされることに注意してください。

于 2013-03-26T09:37:18.360 に答える