我有以下代码:
$('#theForm').on('click', 'button', function(e){
var attrs = { };
var str =e.target.id;
var newStr = str.substring(0, str.length-1);
$("#file01b").replaceWith(function () {
attrs.text = $(this).text();
return $("<a />", attrs);
});
var field= document.getElementById(newStr);
field.value= field.defaultValue;
document.getElementById(newStr).style.display = "none";
});
所有代码: http://jsfiddle.net/K9eWL/3/
当我点击第一个“删除文件”按钮时它工作正常,所以我尝试自动创建它,以便它适用于所有按钮:
$('#theForm').on('click', 'button', function(e){
var attrs = { };
var str =e.target.id;
var newStr = str.substring(0, str.length-1);
$("#str").replaceWith(function () {
attrs.text = $(this).text();
return $("<a />", attrs);
});
var field= document.getElementById(newStr);
field.value= field.defaultValue;
document.getElementById(newStr).style.display = "none";
});
所有代码: http://jsfiddle.net/K9eWL/3/
但它不起作用,错误在哪里?
感谢您的帮助。
答案 0 :(得分:3)
如何,而不是:
$("#file01b").replaceWith(function () {
您使用:
$("#"+e.target.id).replaceWith(function () {
注意:如果上述情况正常,则$(e.target).replaceWith(function () {
将work as well。
答案 1 :(得分:0)
'this.id'也有效。
$("#"+this.id).replaceWith(function () {