当然。
是你让它这样作的嘛。
如果是添加应该是:
源代码如下:
<script>
function a(){
var temp ="<option>4</option>";
ss.innerHTML+=temp;
alert(ss.innerHTML); //这里弹出的对话框里居然把第一个<option>去掉了,而显示4</option>,这是为什么?
}
</script>
<body>
<input type=button onClick="javascript:a();">
<select id="ss"><option>1</option></select>
</body>

解决方案 »

  1.   

    不是,就算你这样写,显示出来的就是
    1</option><option>4</option>
    第一个<option>也没有了。
    我的意思是问,为什么会没有这半个<option>?
      

  2.   

    有些标记是不能用innerHTML添加节点的。
    <script>
    function a(){
    var temp = document.createElement("OPTION");
    temp.text="4";
    temp.value="4";
    ss.add(temp);
    alert(ss.innerHTML);
    }
    </script>
    <body>
    <input type=button onClick="javascript:a();">
    <select id="ss"><option>1</option></select>
    </body>在innerHTML时MS会对html进行格式化处理
      

  3.   

    <script>
    function a(){
    var temp ="<option>4</option>";
    ss.outerHTML="<select id=\"ss\">"+temp+"</select>";
    alert(ss.innerHTML);
    }
    </script>
    <body>
    <input type=button onClick="javascript:a();">
    <select id="ss"><option>1</option></select>
    </body>