2009-11-11 120 views
0

我想複製masterdiv的內容,包括子div。以下是代碼實現。IE和Chrome中的jquery克隆問題

<label id="lblMessage" /> 
<table width="100%"> 
    <tr> 
     <td> 
      <div id="colorSelector"> 
       <div style="background-color: rgb(0, 0, 255);" /> 
      </div> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <div id="dynPageContent"></div> 
      <input type="button" id="updContent" value="Update" /> 
     </td> 
    </tr> 
</table> 

<script type="text/javascript" language="javascript"> 
    $(document).ready(
    function() { 
     $('#colorSelector').ColorPicker({ 
      color: '#0000ff', 
      onShow: function(colpkr) { 
       $(colpkr).fadeIn(500); 
       return false; 
      }, 
      onHide: function(colpkr) { 
       $(colpkr).fadeOut(500); 
       return false; 
      }, 
      onChange: function(hsb, hex, rgb) { 
       $('#dynPageContent div').css('backgroundColor', '#' + hex); 
      } 
     }); 
     if ($("#dynPageContent").length) { 
      $("#dynPageContent").html('<%= Model.Page_Content.Trim() %>'); 
      if ($("#pageContent").length) { 
       $("#pageContent").load("/Home/PageContent"); 
      } 
      if ($("#Sidebar").length) { 
       $("#Sidebar").load("/Home/Sidebar"); 
      } 
     } 

     $('#updContent').unbind('click'); 
     $('#updContent').click(function(e) { 
      var updatedpageContent = $('<div />').append($('#dynPageContent div[id^="pageContent"],div[id^="sideba"]').clone()).remove().html(); 
      $.getJSON("/Home/UpdatePage/?t=" + new Date(), { pc: updatedpageContent }, 
      function(data) { 
       if (data != null) { 
        if (data == true) { 
         $('#lblMessage').html("Page template updated."); 
        } 
       } 
      }); 
     }); 
    }); 
</script> 

我從數據庫中加載HTML /分隔(佔位內容),我可以改變孩子的div的背景色和更新佔位符/孩子的div新樣式(背景顏色)數據庫使用json。

上面的代碼正常工作在Firefox,但在IE和鉻,在masterdiv(dynPageContent)消失。

上述代碼有什麼問題?

回答

0

最後我解決了它。

問題是標籤的HTML標記。

我已經取代

<label id="lblMessage" /> 

<label id="lblMessage"></label> 

這解決了這個問題。奇怪之一..