如何克隆选择元素的选项集合中的JavaScript [复制]

问题描述 投票:-1回答:2

这个问题已经在这里有一个答案:

我有一个选择元素的JavaScript中options collection。我想克隆项目的整个列表,而无需使用jQuery。这个怎么做?

javascript html-select
2个回答
1
投票

您可以使用Node.cloneNode()

let collection = document.querySelectorAll('option');
let cloned = Array.from(collection).map(option => option.cloneNode(true));
const select = document.querySelector('select');
cloned.forEach(opt=>{
  select.appendChild(opt)
})
<select>
<option>Option1</option>
<option>Option2</option>
<option>Option3</option>
<option>Option4</option>
</select>

0
投票

这应该克隆和排序数据对象的,如果不会参与箭头方法的工作。

const clone = obj =>
  Array.isArray(obj)
    ? obj.map(item => clone(item))
    : obj instanceof Date
    ? new Date(obj.getTime())
    : obj && typeof obj === 'object'
    ? Object.getOwnPropertyNames(obj).reduce((o, prop) => {
        o[prop] = clone(obj[prop]);
        return o;
      }, {})
    : obj;
© www.soinside.com 2019 - 2024. All rights reserved.