首页 > 解决方案 > 使用 jquery 在动态变化的文本上拆分字符串

问题描述

我正在尝试使用 jQuery 拆分文本字符串并删除/隐藏部分字符串。这都是动态生成的单个跨度类的一部分。

<span>Item in transit from Centerville since 05/14/2018<span>

问题是“自 2018 年 4 月 12 日以来”总是不同的。日期总是变化的。我希望元素看起来像这样:

<span>Item in transit from Centerville</span>

有没有办法用 jQuery 做到这一点?一个常数似乎是“开始”部分,它总是在动态生成的日期之前。可以用来分割字符串并达到我想要的结果吗?

提前致谢。

标签: javascriptjqueryhtmlsplit

解决方案


如果这些字符串中的每一个最后都有“since {some date}”,那么你可以这样做:

HTML部分:

<span id="string">Item in transit from Centerville since 1/1/2018</span>

使用 jQuery:

let string = $("#string").text();
//'let string = document.getElementById("string").innerText' if you want to just pure javascript
let desiredString = string.split(" since");[0]

这将为您提供“从森特维尔运送中的物品”。只要知道它会完全丢弃它之后的所有东西,所以如果你真的想要隐藏/显示行为,你就必须做一些不同的事情。

例子:

let string = document.getElementById("string").innerText;
let desiredText = string.split(" since")[0];
document.getElementById("changed").innerText = desiredText;
<p>Original</p>
<span id="string">Item in transit from Centerville since 1/1/2018</span>
<p>Changed</p>
<span id="changed"></span>


推荐阅读