当前位置: 首页 > 知识库问答 >
问题:

如何仅删除特定类jquery的第一组div

濮阳茂材
2023-03-14

我有如下html结构:

  <div class="row clearfix student">
          <div class="col-sm-3">
            <div class="form-group">
              <h2 class="card-inside-title">Student</h2>
              <div class="form-line focused">
                <input type="text" name="name" class="form-control" required="">
              </div>
            </div>
          </div>
 <div class="col-sm-3">
            <div class="form-group">
            <h2 class="card-inside-title">Subject</h2>
            <select name="subject_name" class="form-control subject" required="" aria-invalid="false"> 
                                        <option value="">Select</option>
                                        <option value="1">Maths</option>
                                        <option value="2">Science</option>
          </select>
        </div>
        </div>
        <div>
        
        <div class="row clearfix subject">
          <div class="col-sm-3">
            <div class="form-group">
              <h2 class="card-inside-title">Subject</h2>
              <div class="form-line focused">
                <input type="text" name="subject[]" class="form-control" required="">
              </div>
            </div>
          </div>
        <div>
        
        <div class="row clearfix class">
          <div class="col-sm-3">
            <div class="form-group">
              <h2 class="card-inside-title">Subject</h2>
              <div class="form-line focused">
                <input type="text" name="subject[]" class="form-control" required="">
              </div>
            </div>
          </div>
        <div>
        
        
        <div class="row clearfix student">
          <div class="col-sm-3">
            <div class="form-group">
              <h2 class="card-inside-title">Student</h2>
              <div class="form-line focused">
                <input type="text" name="name" class="form-control" required="">
              </div>
            </div>
          </div>

<div class="col-sm-3">
            <div class="form-group">
            <h2 class="card-inside-title">Subject</h2>
            <select name="subject_name" class="form-control subject" required="" aria-invalid="false"> 
                                        <option value="">Select</option>
                                        <option value="1">Maths</option>
                                        <option value="2">Science</option>
          </select>
        </div>
        </div>
        <div>
        <div>
        
        <div class="row clearfix subject">
          <div class="col-sm-3">
            <div class="form-group">
              <h2 class="card-inside-title">Subject</h2>
              <div class="form-line focused">
                <input type="text" name="subject[]" class="form-control" required="">
              </div>
            </div>
          </div>
        <div>
        
        <div class="row clearfix class">
          <div class="col-sm-3">
            <div class="form-group">
              <h2 class="card-inside-title">Subject</h2>
              <div class="form-line focused">
                <input type="text" name="subject[]" class="form-control" required="">
              </div>
            </div>
          </div>
        <div>
        ..
        ..

有一个学生行和多个主题行。学生行上有一个下拉列表,所以我想要的是只有在更改下拉列表时才删除主题行。 我正在使用这个代码,但它不工作。

jQuery(document).on('change', '.subject', function(e) {
  var nearest_row = $(this).closest('div.row');
  $(nearest_row).next().remove();
});

我不想删除学生,只想删除该学生的科目行。

共有2个答案

苏振国
2023-03-14
相关问题
魏健柏
2023-03-14

我认为问题在于您的代码中有许多未封闭的

,实际上每一行都在彼此之间。 如果你看下面的例子,我已经关闭了DIV,现在它似乎可以工作了。

工作演示

null

jQuery(document).on('change', 'select.subject', function(e) {
  var nearest_row = $(this).closest('div.row');
  if ($(nearest_row).next('.row').find("select").length == 0) {
    $(nearest_row).next().remove();
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row clearfix student">
  <div class="col-sm-3">
    <div class="form-group">
      <h2 class="card-inside-title">Student</h2>
      <div class="form-line focused">
        <input type="text" name="name" class="form-control" required="">
      </div>
    </div>
  </div>
</div>
<div class="row clearfix subject">
  <div class="col-sm-3">
    <div class="form-group">
      <h2 class="card-inside-title">Subject</h2>
      <select name="subject_name" class="form-control subject" required="" aria-invalid="false">
        <option value="">Select</option>
        <option value="1">Maths</option>
        <option value="2">Science</option>
      </select>
    </div>
  </div>
</div>
<div class="row clearfix subject">
  <div class="col-sm-3">
    <div class="form-group">
      <h2 class="card-inside-title">Subject</h2>
      <div class="form-line focused">
        <input type="text" name="subject[]" class="form-control" required="">
      </div>
    </div>
  </div>
</div>

<div class="row clearfix class">
  <div class="col-sm-3">
    <div class="form-group">
      <h2 class="card-inside-title">Subject</h2>
      <div class="form-line focused">
        <input type="text" name="subject[]" class="form-control" required="">
      </div>
    </div>
  </div>
</div>


<div class="row clearfix student">
  <div class="col-sm-3">
    <div class="form-group">
      <h2 class="card-inside-title">Student</h2>
      <div class="form-line focused">
        <input type="text" name="name" class="form-control" required="">
      </div>
    </div>
  </div>
</div>
<div class="row clearfix subject">
  <div class="col-sm-3">
    <div class="form-group">
      <h2 class="card-inside-title">Subject</h2>
      <select name="subject_name" class="form-control subject" required="" aria-invalid="false">
        <option value="">Select</option>
        <option value="1">Maths</option>
        <option value="2">Science</option>
      </select>
    </div>
  </div>
</div>

<div class="row clearfix subject">
  <div class="col-sm-3">
    <div class="form-group">
      <h2 class="card-inside-title">Subject</h2>
      <div class="form-line focused">
        <input type="text" name="subject[]" class="form-control" required="">
      </div>
    </div>
  </div>
</div>

<div class="row clearfix class">
  <div class="col-sm-3">
    <div class="form-group">
      <h2 class="card-inside-title">Subject</h2>
      <div class="form-line focused">
        <input type="text" name="subject[]" class="form-control" required="">
      </div>
    </div>
  </div>
</div>

 类似资料:
  • 另外,我不想要任何jQuery。

  • 问题内容: 我有这个属性的股利。我需要 使用$(selector).css()删除尝试,但我不知道要设置什么值,因为它是“ none”。 问题答案: css()的文档说,将style属性设置为空字符串将删除该属性(如果它不存在于样式表中): 将样式属性的值设置为空字符串(例如 ),如果该属性已被直接应用(无论是在HTML样式属性中,通过jQuery的方法还是通过对样式属性的直接DOM操作),则将从

  • 我正在尝试编写一个函数(Remove_Item),该函数获取一个指针数组以及数组的长度,并删除第一个指针。以下是代码: 问题是,当输入为1 2 3时,输出为0 2。它没有删除第一个元素,而是将第一个元素变为零并删除最后一个元素。

  • 问题内容: 我有一个数字数组,并且使用该方法向其中添加元素。 有没有一种简单的方法可以从数组中删除特定元素? 相当于- 我必须使用 核心 JavaScript-不允许使用框架。 问题答案: 使用查找要删除的数组元素的,然后使用删除该索引。 splice()方法通过删除现有元素和/或添加新元素来更改数组的内容。 第二个参数是要删除的元素数。注意,将在适当位置修改数组并返回一个包含已删除元素的新数组。

  • 问题内容: 当我知道元素名称时,如何从数组中删除元素?例如: 我有一个数组: 用户输入 已移除。 要充分说明: 我有一个数据库,该数据库存储用逗号分隔的项目列表。该代码根据用户选择所在的位置来提取列表。因此,如果他们选择草莓,则会在草莓所在的每个条目中进行代码提取,然后使用split()将其转换为数组。我想让他们从数组中删除用户选择的项目(例如此示例草莓)。 问题答案: 使用拿到钥匙,并删除它一旦

  • 我只需要删除特定字符之间的一些空格。这是我的数据: 我希望删除两个##标签之间的所有空白,这些空白除了数字之外没有任何其他分隔。我的数据应该如下所示: 我目前正在尝试在PHP中使用以下正则表达式来preg_replace这些空格,但是,我尝试过的所有内容都失败了。 调试演示

  • 我正在尝试删除右边的最后一个边框,如下图所示。我该怎么处理这个? 我的代码: null null