IE9 と属性 expando の罠


例えば input 要素の max 属性の値を取得しようとして

hoge = input.max

とかすると、

  • IE8 以下は内容属性がそのままJavaScriptの property としてアクセスできる
  • IE10 以上は max 属性に対応している

のでちゃんと値が取れるのだけど、

  • IE9 は max 属性に対応しておらず、未知の内容属性に property としてアクセスできない

ので undefined になる。