カテゴリー:
JavaScript
タグ:
 jQuery undefined attr 属性 有無

このエントリーをはてなブックマークに追加
更新日時:
2013年06月25日(火)
作成日時:
2013年06月25日(火)

前の記事 / 次の記事

参考

便利な便利なjQueryだけどどうやら属性の有無を調べるメソッドというのはないようで、
属性の有無を調べるにはundefinedかどうかを判定することで調べることが出来る。

# CoffeeScript
if typeof $("#mystery-element").attr("id") != 'undefined'
  alert "aru"
else
  alert "nai"

# CoffeeScript だと !== が使えない??

なんで属性の有無を調べる必要があるのかというと、
存在しない属性の値に対してメソッドを走らせようとするとエラーになるから。

例えばid名やclass名を加工して何かをつくりたいような場合、

$("#mystery-element").attr("id").replace(/_id$/, "")

とかやるとidが存在してないとここで死ぬ。