Javascript 在HTMLString中找到的元素中设置attr(name)
我使用Javascript 在HTMLString中找到的元素中设置attr(name),javascript,jquery,html,Javascript,Jquery,Html,我使用Jquery保存html\u数据变量html代码。特别是 Jquery(document).ready(function(){ html_data = $('.row').html(); )}; <div class = "row"> <div class = "col-md-12"> <select multiple="multiple" id ="sel1"> <option value="1">
Jquery
保存html\u数据变量html
代码。特别是
Jquery(document).ready(function(){
html_data = $('.row').html();
)};
<div class = "row">
<div class = "col-md-12">
<select multiple="multiple" id ="sel1">
<option value="1"> Element1 </opion>
<option value="2"> Element2 </opion>
<option value="3"> Element3 </opion>
</select>
</div>
</div>
<div class ="before"></div>
将创建带有选择多个的新行
,但不设置属性名称。如何执行此操作?您不需要获取.row
元素的html()
。
您可以使用jquery的.clone()
方法,然后使用相同的.insertbefore()
方法将其追加到.before
之前
function newRow(){
var new_html = $('.row .col-md-12').clone(true);
new_html.insertBefore('.before');
new_html.find('select').attr('name', 'myNewSelect');
}
这是小提琴:我会试试,希望我能定下名字。。谢谢你,请告诉我新的html中的克隆内容???selectmultiple元素返回一个jquery对象,它是.row
元素中html的jquery节点对象的克隆。不,它返回div.col-md-12
node jquery object是的,谢谢。我编辑了你的帖子。也许你也应该考虑ID问题。你需要在NeWORE函数中使用<代码>。我已经更新了小提琴。见工作
function newRow(){
var new_html = $('.row .col-md-12').clone(true);
new_html.insertBefore('.before');
new_html.find('select').attr('name', 'myNewSelect');
}