首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用jquery删除字段

如何使用jquery删除字段
EN

Stack Overflow用户
提问于 2018-03-01 01:09:18
回答 2查看 46关注 0票数 0

我的jquery脚本有问题。我有这样的代码,我的脚本只删除输入,而不是标签。如何同时删除标签?

代码语言:javascript
运行
复制
<div class="input_fields_container">
        @foreach($data->videoTags as $tag)
        <div class="el">
        <div class="form-group">
          <label class="col-lg-2 control-label bold">@lang('main.position')</label>
          <div class="col-lg-6 input-group">
          <input type="text" placeholder="" name="tag[]" value="{{$tag->tag}}" class="form-control">
          <div class="input-group-btn inup-group-addon"><a href="#" class="remove_field" style="margin-left:10px;">@lang('main.delete')</a>
          </div>
        </div>
        </div>
      </div>
  @endforeach
      </div>
      <script type="text/javascript">
  $(document).ready(function() {
  $('.input_fields_container').on("click", ".remove_field", function(e) { //user click on remove text links
      e.preventDefault();
      $(this).parents().eq(1).remove();
      x--;
  })
});
</script>
EN

回答 2

Stack Overflow用户

发布于 2018-03-01 01:11:59

您还可以使用closest()将包含label的父div作为目标:

代码语言:javascript
运行
复制
$(this).closest('.form-group').remove();
//OR
$(this).closest('.form-group').html('');

注意:您可以跳转到您只需更改选择器的el父对象。

票数 0
EN

Stack Overflow用户

发布于 2018-03-02 07:02:00

这里选择器eq的用法不是很明智。您可以查看文档,了解如何有效地使用它:

https://api.jquery.com/eq-selector/

您可以阅读:

它们根据元素在此匹配集中的顺序缩小集合的范围。例如,如果首先使用类选择器(.myclass)选择元素,并返回四个元素,则为这些选择器提供从0到3的索引。

通过执行$(this).parent().eq(1).remove(),您将只删除与$(this).parent()选择匹配的元素数组中的一个元素。您可以检查数组中的内容,以尝试了解要删除的内容。

我建议您可以使用foreach在<div class="el">上创建一个类似于"data-input=y“的属性,其中y是您递增的变量。这样,您就可以很快知道要删除哪些输入,并且您的选择不依赖于DOM的结构。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49035028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档