我有一个用于选择文件的文件输入类型。在文件选择器的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('');
请让我知道我做错了什么。
此致 阿布舍克巴克
答案 0 :(得分:4)
您的id
变量不是有效的选择器(由于'
引号的值类似"'#demo'"
),请将其更改为:
var id = "#" + fileName;
答案 1 :(得分:0)
var id = "'#" + fileName + "'";
您附加的ID是单引号,不是有效的选择器。
这将被视为$("'#yourId '")
将此更改为
var id = "#" + fileName;
然后你可以使用
$(id).empty();
or
$(id).html('');