在IE和Chrome中使用jquery克隆的问题

时间:2009-11-11 05:14:18

标签: jquery html clone dom-manipulation

我正在尝试复制包含子div的masterdiv内容。下面是代码实现。

<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 / divs(内容的占位符),我可以更改子div的背景颜色,并使用json将新样式(背景颜色)的占位符/子div更新到数据库

以上代码在Firefox中运行良好,但在IE和Chrome中,masterdiv(dynPageContent)消失了。

上述代码有什么问题?

1 个答案:

答案 0 :(得分:0)

最后我解决了。

问题在于标签的html标签。

我已经取代了

<label id="lblMessage" />

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

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