使用jquery更改元素类型

时间:2013-11-19 20:33:24

标签: javascript jquery types element

我有以下代码:

$('#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/

但它不起作用,错误在哪里?

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

如何,而不是:

$("#file01b").replaceWith(function () {

您使用:

$("#"+e.target.id).replaceWith(function () {

检查your fiddle, updated

注意:如果上述情况正常,则$(e.target).replaceWith(function () {work as well

答案 1 :(得分:0)

'this.id'也有效。

$("#"+this.id).replaceWith(function () {