零全零美(www.zzgwt.com)
          生活中的很多事情,并不像If...Else那么簡單!
          posts - 96,comments - 52,trackbacks - 0
               cloneNode是進行DOM操作經常使用的方法,有了它我們可以很容易的克隆一個跟原來一模一樣的DOM對象,如:在動態增加table的行的時候,我們只需克隆一個table中現有的行,然后調用talbe.appendChild()方法就可以實現,而無需調用table繁瑣的DOM操作方法。但是在開發中,我發現cloneNode在對select進行克隆時卻無法克隆出當前選中的option,克隆出來的對象的options中擁有selected屬性的永遠都是第一個。
           
           1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
           2<html>
           3  <head>
           4    <title>CloneNode.html</title>
           5    <script type="text/javascript">
           6        function $(id){
           7            return document.getElementById(id);
           8        }

           9        
          10        window.onload = function(){
          11            document.body.appendChild($("txt").cloneNode(true));
          12            document.body.appendChild(document.createElement("<p>"));
          13            document.body.appendChild($("select").cloneNode(true));
          14        }

          15    
          </script>    
          16  </head>
          17  <body>
          18    <form>
          19        <input type="text" name="txt" id="txt" value="測試一下CloneNode之后還有沒有值" style="width:300px"/> 
          20        <select id="select" name="select">
          21            <option value="">請選擇</option>
          22            <option value="1" selected>1</option>
          23            <option value="2">2</option>
          24            <option value="3">3</option>
          25        </select>
          26    </form>
          27  </body>
          28</html>
          29
           
              下面是調用document.write($("select").cloneNode(true).outerHTML)后打印的HTML:
          1<SELECT id=select name=select>
          2         <OPTION value="" selected>請選擇</OPTION>
          3         <OPTION value=1>1</OPTION>
          4         <OPTION value=2>2</OPTION>
          5         <OPTION value=3>3</OPTION>
          6    </SELECT>

              以上代碼在FireFox下運行正常,但在IE中不正常!
          posted on 2008-11-24 13:08 零全零美 閱讀(1941) 評論(1)  編輯  收藏 所屬分類: JavaScript

          FeedBack:
          # re: JavaScript學習筆記(7) IE環境下cloneNode的一個bug
          2008-11-26 10:24 | 鬼火
          在cloneNode select時還有其他問題。我cloneNode了一個select。然后給他賦了其他ID。但是在document.getElementById()的時候。分別搜2個select是搜不到的。只能搜到clone的那個。另外select.innerHTML= select2.innerHTML的時候似乎也有些問題。  回復  更多評論
            
          主站蜘蛛池模板: 府谷县| 呈贡县| 安宁市| 新田县| 新乡县| 桃江县| 玉溪市| 马尔康县| 汤原县| 天台县| 株洲市| 宁城县| 博野县| 屏山县| 云梦县| 陵水| 若尔盖县| 天全县| 禹州市| 乐都县| 淮安市| 高台县| 东海县| 京山县| 昭通市| 四子王旗| 炎陵县| 精河县| 肃宁县| 五大连池市| 进贤县| 黔江区| 克拉玛依市| 平泉县| 扎赉特旗| 长治县| 准格尔旗| 应用必备| 长阳| 德阳市| 松滋市|