jQuery删除删除所有附加的东西?

时间:2018-09-16 10:54:44

标签: javascript jquery html

下面是我的代码。我正在使用class删除html中的某些元素,但也将其删除,但是我在输入字段之前插入了类.als-h-f的某些元素。但是删除功能也会删除这些内容。请说明为什么会这样?

if (jQuery(this).find('input[type=hidden]').length > 0) {
    jQuery('.als-h-f').remove();
    jQuery(this).find('input[type=hidden]').each(function () {
        jQuery('#search').before(jQuery(this));
    });
}
<div class="als-cont">
    <input type="hidden" class="als-h-f" name="als_id" value="11">
    <input type="hidden" class="als-h-f" name="als_fname" value="Rajesh">
    <input type="hidden" class="als-h-f" name="als_lname" value="Sharma">
    <input type="text" name="search" id="search">
</div>

1 个答案:

答案 0 :(得分:0)

找不到从DOM中删除的HTML元素。将它们存储在变量中,然后再删除它们,然后再次添加。

$input = $('#search');
$hiddens = $('.als-h-f');
$hiddens.remove();
$hiddens.each(function(index, $hidden){
  console.log($hidden);
  $input.before($hidden);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="als-cont">
  <input type="hidden" class="als-h-f" name="als_id" value="11">
  <input type="hidden" class="als-h-f" name="als_fname" value="Rajesh">
  <input type="hidden" class="als-h-f" name="als_lname" value="Sharma">
  <input type="text" name="search" id="search">
</div>