использование jquery для разделения строк на динамически изменяемый текст - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь использовать jQuery, чтобы разбить текстовую строку и удалить / скрыть часть строки. Это все часть одного класса span, который генерируется динамически.

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

Проблема в том, что «с 12/12/2018» всегда разные. Дата всегда меняется. Я хочу, чтобы элемент выглядел так:

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

Есть ли способ сделать это с помощью jQuery? Кажется, одной константой является часть «с», которая всегда предшествует динамически генерируемой дате. Можно ли это использовать для разделения строки и достижения желаемого результата?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018
  1. Поскольку дата всегда в конце, используйте split () с пробелом для создания массива слов, затем используйте pop (), чтобы получить последний элемент, который является датой.

var $text = $('span').text();

console.log($text.split(' ').pop())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>Item in transit from Centerville since 05/14/2018</span>
0 голосов
/ 15 мая 2018

Если каждая из этих строк имеет «после {некоторой даты}» в конце, то вы можете просто сделать:

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>
...