Firefoxの場合、JavaScriptのオブジェクトがあるか無いかを "if(obj){ 〜 } else{ 〜 }"の様な書き方で判定させようとするとエラーとなってしまって困っていた。
いろいろ調べると次の様に書くと判定できるらしい。
if(!!obj){ // オブジェクトは存在 } else{ // オブジェクトは存在しない }
正しい使い方なのかは、イマイチ不明。
AjaxでDOMの一部を更新した際に更新した範囲に任意の名前のノードが存在するか判定させるのに使ったのだが、こちらの使い方も微妙。。。
下の様な感じ。
<!-- 更新前 --> <div id="result"> </div>
これが、何かボタンを押すと更新されて...
<!-- 更新後 --> <div id="result"> <div id="exp-313">foo</div> <div id="exp-992">bar</div> </div>
となって、更にJavaScriptで <div id="exp-312"> はありますか?と探す様なもの。
先の判定方法に従って今はこの様な感じなのだけど...
var sample_ary = new Array("exp-312"); for (var i=0; i < sample_ary.length; i++) { if(!!$(sample_ary[i])){ // prototype.jsを使ってます. alert(sample_ary[i] + "はあります。); } }
また調べてわかったら更新・追記...。
(Visited 5 times, 1 visits today)