【问题标题】:How to remove span inside span of a partiular Id?如何删除特定 ID 的跨度内的跨度?
【发布时间】:2020-08-25 07:56:42
【问题描述】:

我有一个html代码

<span class="text-danger field-validation-valid" data-valmsg-for="CustomActivity.WorkOrderCategoriesName" data-valmsg-replace="true">
      <span id="CustomActivity_WorkOrderCategoriesName-error" class="">The WorkOrderCategoriesName field is required.</span>
</span>

<span class="text-danger field-validation-valid" data-valmsg-for="CustomActivity.Notes" data-valmsg-replace="true">
      <span id="CustomActivity_Notes-error" class="">The Notes field is required.</span>
</span>

 <button type="button" class="btn btn-primary" id="delete" data-id="">Delete</button>

现在,当我单击删除按钮时,我需要删除 text-danger field-validation-valid 标签内的所有跨度标签,但不应删除父跨度标签。

mu jquery 代码是:

 $(document).ready(function () {
$("#delete").click(function () {
                jQuery('.text-danger field-validation-valid div').html('');
            });
});

没有帮助我该怎么做?

【问题讨论】:

  • 您在jQuery('.text-danger field-validation-valid div') 中缺少一个点,我也没有在跨度内看到任何 div。相信应该是jQuery('.text-danger.field-validation-valid span').remove()
  • 投票接近,因为 OP 使用 div 而不是 span 并且有一个空格 ` ` 而不是 . 用于同一元素上的类名

标签: javascript html jquery jquery-ui


【解决方案1】:
  1. 你需要 .(dot) 来访问 text-danger 因为它的类
  2. 您需要在delete 上的click 事件

 $(document).ready(function () {
 
  $(document).on('click','#delete', function(e){
  
     jQuery('.text-danger').find('span').remove();
  });
   
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="text-danger field-validation-valid" data-valmsg-for="CustomActivity.WorkOrderCategoriesName" data-valmsg-replace="true">
      <span id="CustomActivity_WorkOrderCategoriesName-error" class="">The WorkOrderCategoriesName field is required.</span>
</span>

<span class="text-danger field-validation-valid" data-valmsg-for="CustomActivity.Notes" data-valmsg-replace="true">
      <span id="CustomActivity_Notes-error" class="">The Notes field is required.</span>
</span>

 <button type="button" class="btn btn-primary" id="delete" data-id="">Delete</button>

【讨论】:

  • 2. OP 已经有点击事件$("#delete").click(,除非另有证明,否则他们不需要事件委托(他们并不是说点击没有触发,只是没有做他们想做的事(试图找到 @ 没有帮助) 987654327@ 而不是 span))
  • 你可以这样做jQuery('.text-danger span').remove();
【解决方案2】:

这有一个简单的技巧。

$("spanId").html("");

这会将 span 的内部 html 设置为空。

【讨论】:

  • Op 已经在使用.html(''); - 问题出在选择器上(不是我的反对票……但仍然如此)
  • 使用 span id 将是一个非动态解决方案。像jQuery('.text-danger span') 这样的东西会选择所有关于有多少元素的元素,或者在脚本加载后是否创建了新元素。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-21
  • 2017-02-27
  • 2013-09-06
  • 1970-01-01
  • 1970-01-01
  • 2020-12-19
  • 2012-08-23
相关资源
最近更新 更多