如何在JS中的表中定位没有类的内容

时间:2016-12-07 20:15:27

标签: javascript jquery

我有这个由WooCommerce和其他几个插件生成的代码。我想摆脱那个不间断的空格和分号 :。我知道正确的方法是将它从PHP代码本身中删除,但我花了好几个小时没有运气,所以我想我会用JS隐藏它,但是我找不到办法定位 :而不影响span内的其他两个td

<tr class="shipping">
    <th>Shipping</th>
    <td data-title="Shipping">
        &nbsp;: <span class="woocommerce-Price-amount amount">
            <span class="woocommerce-Price-currencySymbol">&#36;</span>350.00
        </span> 
        <input type="hidden" name="shipping_method[0]" data-index="0" id="shipping_method_0" value="per_product" class="shipping_method" />     
    </td>
</tr>

到目前为止,我有这个

$('.shipping').('td').css("display", "none");

隐藏了&nbsp;:加上2 spans ...

1 个答案:

答案 0 :(得分:2)

这样的事可能

$('.shipping td').html(function(i, html) {
  return html.replace('&nbsp;:', '');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr class="shipping">
    <th>Shipping</th>
    <td data-title="Shipping">
      &nbsp;: <span class="woocommerce-Price-amount amount">
            <span class="woocommerce-Price-currencySymbol">&#36;</span>350.00
      </span>
      <input type="hidden" name="shipping_method[0]" data-index="0" id="shipping_method_0" value="per_product" class="shipping_method" />
    </td>
  </tr>
</table>

请记住,如果td中的元素上存在绑定事件处理程序,则此代码将丢失这些处理程序。