【问题标题】:clone select element and wrap克隆选择元素并换行
【发布时间】:2017-08-16 18:13:21
【问题描述】:

我通过以下方式克隆多个选择元素。这工作完美:

演示:https://jsfiddle.net/DTcHh/36308/

// get all items of specific class
var $selectedClassDiv = $('.to-clone');

// find select eles and clone into div
$('#cloned-list').html($selectedClassDiv.find('select').clone());

// loop through cloned select eles to set the correct selected option
$selectedClassDiv.find("select").each(function(i) {
  var select = this;
  $('#cloned-list').find("select").eq(i).val($(select).val());
});

我遇到的问题是我想将这些选择项包装在具有自定义类的 div 中。我尝试了多种方法都无济于事,下面是我的最新尝试。


没有效果

$('#cloned-list').html($selectedClassDiv.find('select').clone().wrap('<div class="customClass"></div>'));

演示:https://jsfiddle.net/DTcHh/36309/

导致错误

$('#cloned-list').html($selectedClassDiv.find('select').clone().parent().wrap('<div class="customClass"></div>'));

演示:https://jsfiddle.net/DTcHh/36310/

我对将 div 包裹在所选项目周围的解决方案感兴趣。克隆父 div 并添加一个类不是一种选择。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您可以在当前循环中添加它:

    https://jsfiddle.net/DTcHh/36311/

    $selectedClassDiv.find("select").each(function(i) {
      var select = this;
      $('#cloned-list').find("select").eq(i).val($(select).val()).wrap('<div class="customClass"></div>');
    });
    

    【讨论】:

    • 非常感谢。有没有办法用更少的代码完成这项任务,或者我是否已经达到了最优化的状态?
    猜你喜欢
    • 1970-01-01
    • 2013-01-26
    • 2015-04-15
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多