javascript - 如何删除项目删除时的 ","?

标签 javascript jquery

我有以下代码:

<ul class="ul" id="selected_conditions">
  <li data-field="asset_locations_name" data-condition="in">
    <i class="fa fa-minus-circle delete_condition" aria-hidden="true" title="Click to remove this condition from the list"></i> WHERE asset_locations_name IN(
    <span class="condition_item" data-id="1213381233">
    <i class="fa fa-minus-circle delete" title="Click to remove this item from the list" aria-hidden="true"></i> 1213381233
    </span>,
    <span class="condition_item" data-id="1212371897">
    <i class="fa fa-minus-circle delete" title="Click to remove this item from the list" aria-hidden="true"></i> 1212371897
    </span> )
  </li>
</ul>

每次我点击小图标.delete时,我都应该删除当前值,我可以使用以下代码实现这一点:

$(function() {
  $('#selected_conditions').on('click', '.delete', function(ev) {
    var item_id = $(this).parent().data('id');
    $('.condition_item[data-id="'+ item_id +'"]').remove();
  });
});

但是上面的代码有两个问题:如果我删除任何项目,符号 , 不会被删除,这是错误的第二个,我不能有一个空的 () 字符串,所以:

  • 如何删除 ,,这样我就不会得到像 (,1213381233)(1213381233,) 这样的错误字符串?

有什么帮助吗?我给你留了一个Fiddle和玩。这是一个 WIP,因此如果您有建议或更好的解决方案,请随时将其添加到您的答案中。

最佳答案

我不会对逗号进行硬编码,而是仅当一行中有多个项目时才使用 CSS :before 添加逗号。

.condition_item+.condition_item:before {
  content: ", "
}

https://jsfiddle.net/8184ok2e/2/

关于javascript - 如何删除项目删除时的 ","?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40550385/

相关文章:

jquery - 使用 jQuery 将内容添加到表中的特定列

javascript - 返回 Bool 到 AJAX 请求

JavaScript 点击提交

javascript - 如何使用 Mechanize 处理 JavaScript?

javascript - Application Insights 不会跟踪 Angular 应用程序中未处理的浏览器异常

javascript - 将变量整数传递给jquery函数?

javascript - 比较两个数组并根据两个数组的索引添加新键

javascript - 使用对象数组动态创建分组列表

javascript - 在 Chrome 中重新加载页面后清除表单输入值

javascript - 在窗口大小更改时更改侧导航栏