Jquery:在var中查找元素并更改文本

时间:2015-12-04 19:24:21

标签: javascript jquery

以下表达式不起作用:(既不带 .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>

3 个答案:

答案 0 :(得分:2)

您正在使用整个HTML内容作为选择器,这是无效的。如果您希望变量成为选择器,请将变量更改为.html(),最后删除file.previewElement

要让file.previewElement = $.parseHTML($(".preview-template").html()); 作为HTML元素的单独实例变量,您可以使用(正如您已经发现的那样)$.parseHTML()。这将为您提供一组可以使用jQuery操作的节点:

mongo1:27017: exception: aggregation result exceeds maximum document size (16MB)

答案 1 :(得分:0)

更新您的代码
$(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);

答案 2 :(得分:0)

使用$(".preview-template").find('[data-dz-name]').html(file.name);