清除动态创建的div

时间:2014-01-29 11:48:13

标签: jquery html

我有一个用于选择文件的文件输入类型。在文件选择器的onchange事件中,我在div中显示所选文件,前面有[ - ],以从div中分离该文件。下面是我用来清除文件div的代码[ - ]符号: -

$.each(myFileList.files, function (i, val) {
        strFileNames += "<div id=\"" + myFileList.files[i].name.split(' ').join('_').split('.').join('_') + "\">" + myFileList.files[i].name + "<a class=\"removeFileUpload\" style=\"cursor: pointer; text-decoration: none;\" title=\"Remove File from Upload List\" data-filename=\"" + myFileList.files[i].name.split(' ').join('_').split('.').join('_') + "\">[ - ]</a></div>";
});

现在点击“removeFileUpload”类,我有另外一个功能如下: -

function ehRemoveChosenFile() {
    $("body").on({
        click: function () {
            var fileName = $(this).data("filename");
            alert(fileName);
            var id = "'#" + fileName + "'";
            $(id).empty();
        }
    }, '.removeFileUpload');
}

但是这个功能不起作用。

我也尝试过: -

$(id).replaceWith('');

请让我知道我做错了什么。

此致 阿布舍克巴克

2 个答案:

答案 0 :(得分:4)

您的id变量不是有效的选择器(由于'引号的值类似"'#demo'"),请将其更改为:

var id = "#" + fileName;

答案 1 :(得分:0)

var id = "'#" + fileName + "'";

您附加的ID是单引号,不是有效的选择器。 这将被视为$("'#yourId '")

将此更改为

var id = "#" + fileName;

然后你可以使用

$(id).empty();
        or
$(id).html('');