jQuery将文本转换为inputfields

时间:2012-04-21 19:54:17

标签: jquery

在我的页面上,我有几个看起来像这样的标签:

<parameter name="address" class="transform">@ViewBag.Address</parameter>

为此,我创建了这个功能:

 function transform(id) {
     $('#' + id + ' .transform').each(function (index) {
         var tag = $(this).parent().html();
         $(this).parent().html() = tag.replace('parameter','input type="text"');
     });
 }

现在,如果我提醒$(this).parent()。html()我得到原始标签,但该功能不起作用。我做错了什么?

2 个答案:

答案 0 :(得分:2)

试试这个(给html函数一个参数,可能是问题的原因

function transform(id) {
 $('#' + id + ' .transform').each(function (index) {
     var tag = $(this).parent().html();
     $(this).parent().html( tag.replace('parameter','input type="text"') );
 });
 }

答案 1 :(得分:1)

您接受的答案对我不起作用,所以我创建了 jsFiddle example

jQuery的:

function transform(id) {
    $('#' + id + ' .transform').each(function(index) {
        $(this).replaceWith($('<input value="' + $(this).html() + '" type="text" name="address" class="transform" />'));
    });
}

这会将参数标记转换为输入元素,并将@ ViewBag.Address文本作为每个输入的默认值。