在我的页面上,我有几个看起来像这样的标签:
<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()我得到原始标签,但该功能不起作用。我做错了什么?
答案 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文本作为每个输入的默认值。