javascript - 使用 jQuery 修剪文本
问题描述
就我而言,我有很多这样的文字:
(name price currency * quantity)
Blue Book 5 $ * 100
Green Books 34 Uk * 50
和 ...
这是我的 html 和 jQuery 代码。
jQuery('td.quantity_col dd.variation- p').text(function(_, curr) {
//jQuery('p.time').text('Time of match')
return curr.split('*').pop().trim();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.min.js"></script>
<table class="woocommerce">
<tr>
<td class="tdclass quantity_col">
<dl class="variation">
<dd class="variation-"><p class="time">Blue Book 5 $ * 100</p></dd>
</dl>
</td>
</tr>
<tr>
<td class="tdclass quantity_col">
<dl class="variation">
<dd class="variation-"><p>green Books 34 Uk * 50</p></dd>
</dl>
</td>
</tr>
</tbody>
</table>
我想修剪如下文本:
Blue Book 5 $ * 100 ---> Blue Book
Green Books 34 Uk * 50 ---> Green Books
jquery的任何解决方案?
解决方案
你可以这样做,但我不得不说你的代码很乱。在尝试与 DOM 交互之前,您应该对其进行一些清理。
$(document).ready(function() {
$('td.quantity_col dl dd.variation- p').each(function(i,x) {
if (i%3 == 1) {
console.log($(this).text().split(/\d/)[0].trim())
$(this).text($(this).text().split(/\d/)[0].trim())
}
});
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="woocommerce">
<tbody>
<tr>
<td class="tdclass">#1</td>
<td class="tdclass"><span class="other_item">wallet</span></td>
<td class="tdclass">$45</td>
</tr>
<tr>
<td class="tdclass">#2</td>
<td class="tdclass quantity_col">
<dl class="variation">
<dt class="variation-">Select Category :</dt>
<dd class="variation-"><p>Category 1</p></dd>
<dt class="variation-">Select Product :</dt>
<dd class="variation-"><p class="time">Blue Book 5 $ * 100</p></dd>
<dt class="variation-">Link :</dt>
<dd class="variation-"><p><a href="#" rel="nofollow">Link</a></p></dd>
</dl>
<span class="other_item">wallet2</span>
</td>
<td class="tdclass">$35</td>
</tr>
<tr>
<td class="tdclass">#2</td>
<td class="tdclass quantity_col">
<dl class="variation">
<dt class="variation-">Select Category :</dt>
<dd class="variation-"><p>Category 1</p></dd>
<dt class="variation-">Select Product :</dt>
<dd class="variation-"><p>green Books 34 Uk * 50</p></dd>
<dt class="variation-">Link :</dt>
<dd class="variation-"><p><a href="#" rel="nofollow">Link</a></p></dd>
</dl>
<span class="other_item">wallet2</span>
</td>
<td class="tdclass">$35</td>
</tr>
</tbody>
</table>
应该有一种方法可以使用适当的 CSS 选择器来做到这一点,但是看到你的 DOM 很乱,我没有检查 CSS 解决方案。
推荐阅读
- mongodb - MongoDB fetch all the id from the other document and make it's value in array
- python - python将0.00000077转换为科学计数法
- php - Laravel 中的自定义路由
- linux - 无法在本地网络服务器上注册 git runner
- python - 确定哪个点的子集最接近多项式
- php - 如何递归区分两个文件夹,然后复制 PHP 中的差异
- java - 使用 Java 运行时从 mysql 转储 sql 文件中检索表
- scala - 为什么 Action 变成了 Accumulator
- java - 无法运行程序“C:\Program Files\Java\jdk1.8.0_221\jre\bin\java” 目录名无效
- android - 使用 SearchView 过滤 RecyclerView 结果