我正在获取选择的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(),由bitfiddler链接)
var sel = $("#rmFilesListSelect").clone();
$(sel).attr({name: "item_files[fid-123]"});
$("#someTable tbody").append("<tr><td>" + $(sel).outerHTML() + "</td></tr>");
非常感谢!
答案 0 :(得分: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);
答案 1 :(得分:1)
你的第一行将变量sel设置为html而不是对象。在第2行中,您将其视为对象并尝试设置其名称属性。我认为您需要将第1行更改为:
var sel = $("#rmFilesListSelect");
和第3行:
$("#someTable tbody").append("<tr><td>" + sel.html() + "</td></tr>");
答案 2 :(得分: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>");
答案 3 :(得分: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>
希望它会有所帮助。