使用jQuery动态生成div无法加载图片

时间:2014-03-10 08:39:31

标签: javascript jquery html

我正在使用Jquery在我的页面上显示对话框。目前div是用我的HTML编写的,当我需要jQuery(打开/关闭.dialog()方法)时,我会显示或隐藏它。 “问题”是div在页面的开头加载,即使它不可见,标记仍然在源中可见。所以当我单击按钮时,我想立即生成潜水。

这是我的div:

    <div class="dialog" id="UploadDialog" title="Uploading...">
    <div>
    Your file <i><span id="fileinfo"></span></i> is being uploaded<br />
    <b>Estimate time </b><span id="temps"></span><br /><br />
    <b>Please wait</b><br /><br />
    <i>This window willclose automatically at the end of the upload</i>
    </div>
    <table width="100%">
        <tr>
            <td width="33%"></td>
            <td width="33%" align="left">
                <img alt="loading..." id="imgloading" src="Image/loader.gif" /><br /><br />
                <input type="button" value="Cancel Upload" onclick="javascript:cancel();"/>
            </td>
            <td width="33%"></td>
        </tr>
    </table>    
    </div>

目前正处于javascript的开头:

$("#UploadDialog").dialog({
    width: 400
});
$("#UploadDialog").dialog("close");

当我点击我填充范围然后$("#UploadDialog").dialog("open");

我已经在我的页面上使用div包装器进行其他对话,如下所示:

    <div id="wrapper"></div>

然后我想在js文件中调用click:

$("#wrapper").empty();
$("#wrapper").append("<div class='dialog' id='UploadDialog' .....");//all the div content
$("#UploadDialog").dialog({
    width: 400
});

然而,这不会正确加载,因为对话框的尺寸与我使用第一种方法(Html +打开/关闭)时不一样,并且GIF不会加载(即使没有404 ressource也没有找到picutre图标在控制台中找到)

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要在将dialog附加到div

后再绑定它
$("#wrapper").empty();
$("#wrapper").append("<div class='dialog' id='UploadDialog' .....");/
$("#UploadDialog").dialog({
width: 400
});