Удалить последний экземпляр строки из текста элемента - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь вырезать последний CHF текст из div. Я не мог заставить это работать.

$(document).ready(function() {
  var myval = $(".gui-big.guy-price strong").text();
  console.log(myval);
  myval = myval.substring(0, myval.length - 3);
  $("div.gui-big.guy-price strong").val(myval);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="gui-item gui-big">
  <div class="gui-desc">
    <strong>Gesamt inkl. MwSt:</strong>
  </div>
  <div class="gui-price">
    <strong>CHF53,70 CHF</strong>
  </div>

1 Ответ

1 голос
/ 19 февраля 2020

Во-первых, обратите внимание, что ваши селекторы неверны. Он содержит опечатку и требует пробелов для обозначения того, что вы ищете дочерние элементы.

Чтобы заменить последнее вхождение одной строки в другую, вы можете использовать регулярное выражение. Чтобы сделать это более кратким, вы можете предоставить text() функцию, которая принимает текущее значение в качестве аргумента и возвращает новое значение, которое нужно установить. Попробуйте это:

$(document).ready(function() {
  $('.gui-big .gui-price strong').text((i, t) => t.replace(/CHF([^CHF]*)$/, '$1'));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="gui-item gui-big">
  <div class="gui-desc">
    <strong>Gesamt inkl. MwSt:</strong>
  </div>
  <div class="gui-price">
    <strong>CHF53,70 CHF</strong>
  </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...