首页 > 解决方案 > 删除特定元素中的字符和后续字符

问题描述

试图删除-每个和后面td的字符。

例如<td>36 - 71</td>变成<td>36</td>

当前的 HTML

<tbody>
<tr><td>36 - 71</td></tr>
<tr><td>72 - 143</td></tr>
</tbody>

jQuery 测试

jQuery(function ($) { 
var div = $('tbody');
div.html(div.html().replace(/\-/g, ''));
});

标签: htmljquery

解决方案


要实现这一点,您需要单独循环每个td。您可以传递一个函数来text()隐式循环td单元格并依次对每个单元格执行操作。

另请注意,您当前的代码仅删除该-字符。如果要删除连字符后的所有文本,则可以使用split()并从结果数组中获取第一个值。

尝试这个:

$('table tr td:first-child').text((i, t) => t.split('-')[0].trim());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr>
      <td>36 - 71</td>
    </tr>
    <tr>
      <td>72 - 143</td>
    </tr>
  </tbody>
</table>


推荐阅读