LoginSignup
0
0

More than 5 years have passed since last update.

IE8以下でlabelのforを動的に指定するとエラーになる

Posted at

症状

こういうバインディングをする(mappingプラグインを使ってるので、やたら括弧が多いです)

%ul(data-bind="foreach: data()")
  %li
    %input(type="radio" data-bind="checked: $root.checked, attr: {id: $data.id(), value: $data.name()}")
    %label(data-bind="text: $data.name(), attr: {for: $data.id()")

labelのfor要素で関連付けを行いたい。

IE9とかなら問題ないけど、IE8以下にすると(IE11のシミュレータで実行)

識別子、文字列または数がありません。

というエラーが出る

回避

ちょっと調べる時間がないので、html側の工夫で回避する。

こうする

%ul(data-bind="foreach: data()")
  %li
    %label
      %input(type="radio" data-bind="checked: $root.checked, attr: {id: $data.id(), value: $data.name()}")
      %span(data-bind="text: $data.name()")

IE6が対象じゃなければ、とりあえずコレでいいかな...

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0