1

私のページには、次のようなタグがいくつかあります。

<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() をアラートすると、元のタグが取得されますが、関数は機能しません。私は何を間違っていますか?

4

2 に答える 2

2

これを試してください(html関数にパラメーターを与えてください。問題の原因である可能性があります

function transform(id) {
 $('#' + id + ' .transform').each(function (index) {
     var tag = $(this).parent().html();
     $(this).parent().html( tag.replace('parameter','input type="text"') );
 });
 }
于 2012-04-21T19:57:56.577 に答える
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 テキストが各入力のデフォルト値として配置されます。

于 2012-04-21T20:22:30.840 に答える