如何将多个子项移动到父级别

时间:2017-10-08 22:54:06

标签: jquery

我有一个div,其中包含一个标签内的两个输入字段,我想要做的就是将第二个输入字段移动到该标签之外。 这是第一个:

<div id="divQ_1" class="col-sm-12 col-md-12 col-lg-12 form-group checkbox">
  <label>
    <input data-val="true" data-val-required="The isChecked field is required." id="checks_1__isChecked" name="checks[1].isChecked" type="checkbox" value="true">
    <input name="checks[1].isChecked" type="hidden" value="false">               
  </label>
</div>

应该像这样:

<div id="divQ_1" class="col-sm-12 col-md-12 col-lg-12 form-group checkbox">
  <label>
    <input data-val="true" data-val-required="The isChecked field is required." id="checks_1__isChecked" name="checks[1].isChecked" type="checkbox" value="true">              
  </label>
  <input name="checks[1].isChecked" type="hidden" value="false"> 
</div>

这就是我所做的,但不能把输入放在那里;

var count = 0;
$('input[type="hidden"]').each(function () {
  $(this).detach().append("#divQ_" + count);
  count++;
})

2 个答案:

答案 0 :(得分:3)

您可以使用.after()将所有隐藏的输入移动到其父标签元素之后。

$('input[type="hidden"]').each(function(){
  $(this).parent("label").after(this);
});

答案 1 :(得分:0)

尝试以下操作,它应该可以正常工作

$('input[type="hidden"]').each(function () {
    $("#divQ_1").append($(this).clone());
    $(this).detach();
})