Quantcast
Channel: mattintosh note
Viewing all articles
Browse latest Browse all 892

JavaScript memo

$
0
0

配列にその要素が含まれているかどうかを確認するのにループを使うのが嫌だったので(数も少なかったし)switchで対応していたけど、なんとなく不便な気がしてきた。

ハッシュの場合は inでそのキーが存在するかどうかを確認する方法があるようなのでこれを使ってみた。

var h = {"T2": null,
  "T3": null,
};
var a = ["T1", "T2", "T3", "T4"];
for (var i = 0; a[i] != null; i++) {if (a[i]in h) alert("h has " + a[i]);
}

いちいち "key": nullを書くのは面倒だけどスクリプトの好きなところに書いたりできるのでまぁいいか。

※modern.IEIE 9 でテストしてみたところ .indexOf()が使えるようなのでこちらの方が簡単か。

あと昨日、要素が height属性を持っているか調べるのに .hasAttribute("height")を使ったスクリプトを書いたけど、これ IE対応してないのね…。なので以下のようにしてみた。

if (e["height"] != null) alert(e.tagName + " has height");

う〜ん、なんかよろしくない感じがする。.removeAttribute()が使えるなら .hasAttribute()も使えるようにして欲しい。本当に IEは面倒だ。


Viewing all articles
Browse latest Browse all 892

Trending Articles