Jquery - 如果字符串以...开头,则删除字符串的结尾。多个参数

时间:2016-06-06 15:50:00

标签: javascript jquery string

感谢您阅读本文,我是一个完整的javascript / jquery菜鸟,并不知道从哪一个开始!

我在网页上有一个标签,有时候有很多标签,我想删除指定变量后面的任何文字。

例如我可能有

<label for="pa_jc005-chest">Chest Size - JC005</label>
<label for="pa_rg085-chest">Chest Size - RG085</label>
<label for="pa_tf005-chest">Chest Size - TF005</label>
<label for="pa_tfd05-chest">Waist Size - TFd05</label>
<label for="pa_3fd06-chest">Inside Leg - 3Fd056</label>

但我只想显示以下内容,如

Chest Size
Chest Size
Chest Size
Waist Size
Inside Leg

我看到这个问题的最佳方法是手动指定我最想要的内容,例如'Chest Size'并让javascript在匹配的字符串后删除任何内容。

我花了最后几个小时阅读和阅读,我找到了各种方法来编辑字符串,但没有什么比我需要的更多。

任何帮助/建议都会非常感激。

由于

2 个答案:

答案 0 :(得分:1)

在您的示例中,所有文字都有&#39; - &#39;,您需要拆分&#39; - &#39;并获取此前的所有文本,请参阅示例

&#13;
&#13;
$('label').each(function(i, label) {
	var text = $(label).text().split("-")[0];
	$(label).text(text);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="pa_jc005-chest">Chest Size - JC005</label>
<label for="pa_rg085-chest">Chest Size - RG085</label>
<label for="pa_tf005-chest">Chest Size - TF005</label>
<label for="pa_tfd05-chest">Waist Size - TFd05</label>
<label for="pa_3fd06-chest">Inside Leg - 3Fd056</label>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

如果您想从整个HTML中获取给定的文本,那么您可以这样做:

var html = `<label for="pa_jc005-chest">Chest Size - JC005</label>
    <label for="pa_rg085-chest">Chest Size - RG085</label>
    <label for="pa_tf005-chest">Chest Size - TF005</label>
    <label for="pa_tfd05-chest">Waist Size - TFd05</label>
    <label for="pa_3fd06-chest">Inside Leg - 3Fd056</label>`;

var cleaned = html.replace(/.+["']>(.+) \- .*(\n|$)/gi, '$1$2');

更清洁的解决方案。