在jquery中我试图清除一个字段,但如果我这样做,则会抛出一个错误。它确实使该字段变空,但也会引发错误。我该如何解决这个问题?
由于
HTML
<input name="file" type="file" accept="image/*">
JS
var input = $("#profile-edit-form").find("input[name=file]");
var fileName = input.val();
if(fileName) { // returns true if the string is not empty
input.replaceWith(input.val('').clone(true));
}
ERROR
NotFoundError: Node was not found
-jquery.min.js:3:0
答案 0 :(得分:4)
您为什么要尝试clone
?
这样做应该清除字段:
input.val('');
这是一个小提琴演示:
编辑:
是的,在旧版浏览器中可能存在以上问题,它值得测试,但对于我来说,它适用于现代浏览器,而你说的另一个选项并不适用于Firefox。
这里是两个小提琴,所以你可以测试:http://jsfiddle.net/frrc7bLy/
答案 1 :(得分:0)
虽然jQuery可能足够宽容来处理它,但记录的格式是:
var input = $("#profile-edit-form").find('input[name="file"]');
请注意选择器中“file”周围的引号。