jQuery克隆了对象操作

时间:2015-02-10 06:48:16

标签: jquery html dom

    var data = $('form').clone();

    //data.find('input[type="hidden"]').remove();
    data.find('select').each(function(){
        $($(this).val()).insertAfter($(this));
        $(this).remove();
    });

尝试删除选择下拉列表并将其替换为克隆对象中的值。上面的代码不起作用,我错过了一些明显的东西吗?

2 个答案:

答案 0 :(得分:0)

应该在对象上调用

insertAfter

    var $this = $(this);
    $this.insertAfter($this.val());
    $this.remove();

答案 1 :(得分:0)

您必须使用.after()放置表单的克隆:

var data = $('form').clone();

//data.find('input[type="hidden"]').remove();
data.find('select').each(function() {
  $(this).after(this.value);
  $(this).remove();
});

$(document.body).html(data);

请参阅下面的工作代码:



var data = $('form').clone();

//data.find('input[type="hidden"]').remove();
data.find('select').each(function() {
  $(this).after(this.value);
  $(this).remove();
});

$(document.body).html(data);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action='#' method='post'>
  <select>
    <option>aaa</option>
  </select>
  <select>
    <option>bbb</option>
  </select>
  <select>
    <option>ccc</option>
  </select>
  <select>
    <option>ddd</option>
  </select>
</form>
&#13;
&#13;
&#13;