Home > 技術 > HTMLタグにカスタムな属性を追加しJSから取得する方法

HTMLタグにカスタムな属性を追加しJSから取得する方法


HTMLタグにカスタムな属性を追加しJSから取得する方法

なんかいまさらな気もしますが備忘録として。

たとえばdojoなんかを使っていると以下のようにエレメントの属性に見たこともないのが書いてあったりする。

dojoのカスタム属性の場合

scriptタグのdjConfig、divタグのdojoTypeがそうですね。

自前のカスタム属性の場合

これを単純に自前でやってみる。

divタグにhogeという属性を書いて見ていざelem.hogeで値を表示しようと試みるがFirefoxでundefinedが返ってきてしまう。
でもIEではうまく取れた・・・

なんでだろう・・・

とりあえずFirebugで追ってみた。

まずはelemオブジェクトを見てみる。

一生懸命hogeプロパティを探してみるが見つからない。だがidプロパティは存在している。

次に属性としてちゃんと登録されているか確かめてみる。

として、attributesの中身を拝見。

item(0)
Attr nodeName=hoge nodeValue=hoge nodeType=2
item(1)
Attr nodeName=id nodeValue=hoge nodeType=2 childNodes=[1]
length
2

一部割愛したが属性の個数が2個になってる!
そして0番目にはnodeName=hogeと、hoge属性が格納されていた。

まとめ

普段あんまり気にしていなかったが、自分で追加した属性値はelem.hogeと書いても取得することができない。(Firefoxだと)
なので以下のようにして取得すること!

ちなみにjQueryを使っているなら以下のように書くからあんまり気にしないでも問題ないですね。

Trackback:0

TrackBack URL for this entry
http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1157
Listed below are links to weblogs that reference
HTMLタグにカスタムな属性を追加しJSから取得する方法 from HouseTect, JavaScriptな情報をあなたに

Home > 技術 > HTMLタグにカスタムな属性を追加しJSから取得する方法

Tag cloud
カテゴリー
月別アーカイブ
Powered by
Powered by
Movable Type Commercial 4.261

Page Top