チェックボックスJavaScriptからノード追加した場合の「checked」プロパティの挙動



<問題> ノード追加する前に「checked」プロパティを指定してもIEだとチェックされない。 IEのバグのようです・・・

  <script language="JavaScript" type="text/JavaScript">
  <!--
    function case1() {
      var checkEle = document.createElement("input");
      checkEle.setAttribute("type", "checkbox");
      checkEle.setAttribute("checked", true);
      document.getElementById("case1").appendChild(checkEle);
    }
  //-->
  </script>

  <div id="case1"></div>


<対応策1> createElementにて<input checked>を指定(IE限定の方法です)

  <script language="JavaScript" type="text/JavaScript">
  <!--
    function case2() {
      if(navigator.userAgent.indexOf("MSIE") != -1) {
        checkEle = document.createElement("<input checked>");
      } else {
        checkEle = document.createElement("input");
      }
      checkEle.setAttribute("type", "checkbox");
      checkEle.setAttribute("checked", true);
      document.getElementById("case2").appendChild(checkEle);
    }
  //-->
  </script>
  
  <div id="case2"></div>
  


<対応策2> ノード追加した後に「checked」プロパティを指定

  <script language="JavaScript" type="text/JavaScript">
  <!--
    function case3() {
      var checkEle = document.createElement("input");
      checkEle.setAttribute("type", "checkbox");
      document.getElementById("case3").appendChild(checkEle);
      checkEle.setAttribute("checked", true);
    }
  //-->
  </script>
  
  <div id="case3"></div>