IEはradioボタンをappendChildしてもつかえない
IE6~7でラジオボタンをappendChildした場合、そのラジオボタンはクリックできない。ラジオボタンとして致命的なバグである。
■失敗例
以下のようにDOM要素を操作する。
var input = document.createElement('input');
var p = document.createElement('p');
p.appendChild(input);
ちなみにjQueryを使うと以下のようになる。
var input = document.createElement('input');
var p = document.createElement('p');
$(p).append(input);
■解決策
IEだけinnerHTMLを使う。
var input = document.createElement('input');
var p = document.createElement('p');
if(!!(!window.opera && window.attachEvent)){
p.innerHTML = '<input type="radio" name="id" />';
}
else{
p.appendChild(input);
}
ちなみにjQueryを使うと以下のようになる。
var input = document.createElement('input');
var p = document.createElement('p');
if($.browser.msie){
$(p).append('<input type="radio" name="id" />');
}
else{
$(p).append(input);
}
TrackBack URL :
Comments (0)
コメントはまだありません»
コメントはまだありません。
この投稿へのコメントの RSS フィード。TrackBack URL
コメントする