以下表达式不起作用:(对.text()也不起作用)
$(file.previewElement).find('[data-dz-name]').html(file.name);File.previewElement是一个变量= $(".preview-template").html();
对于$(file.previewElement).find('[data-dz-name]'),调试器输出:
Object { 0: <span>, length: 1, prevObject: Object, context: undefined, selector: "[data-dz-name]" }这是关于下列守则:
<div class="preview-template" style="display: none;">
<div class="body content ig">
<div class="dz-preview dz-file-preview">
<h2 class="dz-filename">File: <span data-dz-name></span></h2>
<img class="dz-thumb" data-dz-thumbnail />
<div class="dz-progress"></div>
<div class="dz-error-message"><span data-dz-errormessage></span></div>
Details:
<div class="dz-size" data-dz-size></div>
<div class="dz-success-mark"><span>✔</span></div>
<div class="dz-error-mark"><span>✘</span></div>
</div>
</div>
</div>发布于 2015-12-04 19:27:05
您正在使用整个HTML内容作为选择器,这是无效的。如果希望变量成为选择器,则将变量更改为$(".preview-template"),然后删除末尾的.html()。
要将file.previewElement作为HTML元素的单独实例变量,您可以使用(正如您已经发现的) $.parseHTML()。这将为您提供一个可以使用jQuery操作的节点数组:
file.previewElement = $.parseHTML($(".preview-template").html());发布于 2015-12-04 19:28:16
更新您的代码
$(file.previewElement).find('[data-dz-name]').html(file.name);至
$(".preview-template").find('[data-dz-name]').html(file.name);如果您需要为元素和模板设置变量,那么您必须引入一个新变量并更新代码,如下所示
file.previewElement = $(".preview-template");
file.previewTemplate = file.previewElement.html();
file.previewElement.find('[data-dz-name]').html(file.name);发布于 2015-12-04 19:28:32
使用$(".preview-template").find('[data-dz-name]').html(file.name);
https://stackoverflow.com/questions/34095954
复制相似问题