2012-11-28 9 views
26

このコードは良いですか?jQuery/Javascriptコードチェックが未定義の場合

var wlocation = $(this).closest('.myclass').find('li a').attr('href'); 
if (wlocation.prop !== undefined) { window.location = wlocation; } 

または私はあなたが簡単に使用することができ

var wlocation = $(this).closest('.myclass').find('li a').attr('href'); 
if (wlocation.prop !== "undefined") { window.location = wlocation; } 

答えて

65

を:

if (wlocation !== undefined) 

をしかし、あなたは第二の方法のwouldn「を好む場合あなたが投稿した通りになる。それは次のようになります。

if (typeof wlocation !== "undefined") 
+1

wlocationは単なる文字列(href属性の値)であるので、それはどんな小道具の特性を持っていない... – Bruno

+0

おかげで、修正されました! – Diego

+0

ありがとうたくさんの人。 – Jeremy

2

行う必要があります。私はこのような

var wlocation = $(this).closest('.myclass').find('li a').attr('href'); 
if (wlocation !== undefined) { window.location = wlocation; } 
10

I一般簡略版のような:

if (!!wlocation) { window.location = wlocation; } 
+2

+1本当にいいです、私は 'not-undefined'の' !! 'コマンドを知りませんでした。 –

+1

@MichelAyres '!!'は特別な*演算子でも、 "未定義でもない"ものでもありません。 '!! undefined => not(未定義)=> not(true)=> false' – Christian

関連する問題