使用jquery将元素附加到动态元素

时间:2011-05-17 19:38:51

标签: jquery append multifile-uploader

我正在尝试将帮助图标附加到文件上传表单字段。那部分很容易。但是,文件上传字段也将是一个多文件上传,我使用jquery多文件插件来做到这一点。当插件加载时,它会将文件输入字段转换为:

<div class="MultiFile-wrap" id="MultiFile1_wrap">
<input type="file" name="attachments" class="multi MultiFile-applied"/>
<div class="MultiFile-list" id="MultiFile1_wrap_list"/>
</div>

因为插件将文件输入字段包装在div中,所以我的帮助图标最终会下降一行。所以,我认为我真正想做的是将帮助图标附加到div.MultiFile-list元素,但是当页面加载时它不存在,所以我不知道如何追加它。我知道你可以用live()做这种事情,但它似乎只处理事件,而不是元素。

有谁知道怎么做?这是我的jquery代码:

var pConSel = "#portletContainer_999999";
var helpIcon = '<img src="img/icon_help.gif" width="16" height="16" alt="file upload help" title="File Upload Restrictions|Attachments are limited to no more than 10 files, must be 100 MB each or less, and are limited to PDF, text, Microsoft Word, Powerpoint or Excel formats." class="tool-tip" />';
jQuery("input[type=file]", pConSel).each(function(index) {
jQuery(this).after(helpIcon);
});

1 个答案:

答案 0 :(得分:0)

答案是在多文件插件加载并修改DOM之后才附加帮助图标。

jQuery.getScript("js/multifile/jquery.MultiFile.pack.js", function() {
//add the help icons after the file upload fields
var helpIcon = '<img src="img/icon_help.gif" width="16" height="16" alt="file upload help" title="File Upload Restrictions|Attachments are limited to no more than 10 files, must be 100 MB each or less, and are limited to PDF, text, Microsoft Word, Powerpoint or Excel formats." class="tool-tip" />';
jQuery("input[type=file]", pConSel).each(function(index) {
jQuery(this).after(helpIcon);
});
});

这样做就像魅力一样。