jQuery 3 .outerHeight()
は、存在しない要素に対して呼び出された場合、null
の代わりにundefined
を返します。 number
+ undefined
の結果がNaN
になるため、存在しない要素の高さを加算すると問題が発生します。 jQuery 3より前にはnumber
+ null
が返されます。number
です。jQuery outerHeight()はNULLの代わりに未定義を返します。
var lorem = $('#div1').outerHeight() + $('#div2').outerHeight();
戻りNaN
例#div2
のための場合は存在しません。
潜在的な解決策:
undef2null = function(myvar) {
if (myvar === undefined) {return null;}
else {return myvar;}
}
はにコードの上にオンになります。
var lorem = undef2null($('#div1').outerHeight()) + undef2null($('#div2').outerHeight());
これよりエレガントな解決策はありますか?
JavaScriptが整数を持っていないことができます。 –
@AluanHaddad LoL。何?さて、それを '数字 'と考えてください。 –
@PraveenKumar、Aluanはhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structuresと言っていたと思いますが、この場合はそれほど重要ではありません。:) Oh、right専門用語警察...常に起きている。 :) – sinisake