0

私はselect htmlを取得していて、それに新しい名前を付けたいと思っています.これは私が現在試していることです:

var sel = $("#rmFilesListSelect").html();
$(sel).attr({name: "item_files[fid-123]"});
$("#someTable tbody").append("<tr><td>" + sel + "</td></tr>");

しかし、これは私が期待するようには機能しません。代わりに、#rmFilesListSelect から古い ID を挿入します。ここで何が欠けていますか?

編集:私はいくつかのコメントの組み合わせを使用することになりました(ビットフィドラーによってリンクされたhttps://stackoverflow.com/a/5259788/1231450のouterHTML()を含む)

var sel = $("#rmFilesListSelect").clone();
$(sel).attr({name: "item_files[fid-123]"});
$("#someTable tbody").append("<tr><td>" + $(sel).outerHTML() + "</td></tr>");

どうもありがとうございました!

4

4 に答える 4

1

試す:

var sel = $("#rmFilesListSelect").html();
$(sel).wrapAll("<tr><td><div id='item_files[fid-123]'></div></td></tr>");
$("#someTable tbody").append("sel");

編集:そして、このような何か?

var sel = $("#rmFilesListSelect").clone();
$(sel).attr({id: 'new_id', name: 'new_name'});
$("#someTable tbody").append(sel);
于 2013-07-02T18:02:58.430 に答える
1

最初の行では、変数 sel をオブジェクトではなく html に設定しています。2 行目では、それをオブジェクトのように扱い、name 属性を設定しようとしています。1行目を次のように変更する必要があると思います:

var sel = $("#rmFilesListSelect");

および 3 行目から:

$("#someTable tbody").append("<tr><td>" + sel.html() + "</td></tr>");
于 2013-07-02T18:04:15.757 に答える
0

これを使って :

var sel = $("#rmFilesListSelect").html();
// Above line gives the entire html of rmFilesListSelect element
// So better, you can select an element from that html to set the name as used like below line
$(sel).attr("name", "item_files[fid-123]") ;
$("#someTable tbody").append("<tr><td>" + sel + "</td></tr>");
于 2013-07-02T18:03:03.413 に答える
0

いくつかの例: js

var jquery_selector = $("#test");
jquery_selector.attr("data-id", "data-test");
var input_value = jquery_selector.data("id"); //got value of extended data attribute
jquery_selector.append('<input type="text" value="' + input_value + '"/>');
jquery_selector.append(jquery_selector.html());

html

<div id="test">some text</div>

http://jsfiddle.net/ZU4BD/2/

それが役立つことを願っています。

于 2013-07-02T18:12:39.147 に答える