将克隆的 <option> 推入数组
push cloned <option> into array
代码如下
var options = $("#select> option").clone();
$('#btn').on('click',function(e){
e.preventDefault();
var copyEl = [];
copyEl.push("<select id='select"+i+"'class='select form-control'>");
options.each(function(){
console.log(this);
copyEl.push(this);
});
copyEl.push("</select>");
copyEl = $(copyEl.join(''));
$('#div').after(copyEl.clone());
});
this is what i do find when inspect the element
[object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement]
控制台打印
<option id='1'>Toy</option>
<option id='2'>Story</option>
这是我确实需要推入数组的结果,此代码在 <datalist>
上运行良好,但无法在 <select>
上以任何方式添加
到数组 ?
我认为您希望使用克隆选项动态创建 select。使用 jQuery(html, attributes)
to create selected then .append()
克隆选项到 select。
$('#btn').on('click', function (e) {
e.preventDefault();
var select = $("<select>", { id : 'select' + i,
'class': 'select form-control'
});
select.append(options);
$('#div').after(select);
});
根据评论,使用 outerHTML
属性
options.each(function(){
copyEl.push(this.outerHTML);
});
你可以试试
options = document.getElementById("selectID").outerHTML;
copyEL.push(options);
这将包括 select
菜单的 HTML,因此您无需附加它。它还将包括带有 HTML 的选项。
代码如下
var options = $("#select> option").clone();
$('#btn').on('click',function(e){
e.preventDefault();
var copyEl = [];
copyEl.push("<select id='select"+i+"'class='select form-control'>");
options.each(function(){
console.log(this);
copyEl.push(this);
});
copyEl.push("</select>");
copyEl = $(copyEl.join(''));
$('#div').after(copyEl.clone());
});
this is what i do find when inspect the element
[object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement][object HTMLOptionElement]
控制台打印
<option id='1'>Toy</option>
<option id='2'>Story</option>
这是我确实需要推入数组的结果,此代码在 <datalist>
上运行良好,但无法在 <select>
上以任何方式添加
到数组 ?
我认为您希望使用克隆选项动态创建 select。使用 jQuery(html, attributes)
to create selected then .append()
克隆选项到 select。
$('#btn').on('click', function (e) {
e.preventDefault();
var select = $("<select>", { id : 'select' + i,
'class': 'select form-control'
});
select.append(options);
$('#div').after(select);
});
根据评论,使用 outerHTML
属性
options.each(function(){
copyEl.push(this.outerHTML);
});
你可以试试
options = document.getElementById("selectID").outerHTML;
copyEL.push(options);
这将包括 select
菜单的 HTML,因此您无需附加它。它还将包括带有 HTML 的选项。