2009-11-11 127 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> 

这解决了这个问题。奇怪之一..