@kpa18

Как скопировать значения внутри тега элемента с помощью кнопки?

Добрый день,
необходимо скопировать часть значения элемента по тегам внутри, а именно сумму, заключенную в тег <b></b>, и адрес, заключенный в тэг <i></i>.
Сумма и адрес генерируются шаблонизатором и нет возможности добавить id в теги <b> и <i>.
Сумму нужно скопировать без слова rub.
<div class="form" id="invoice_form">Send <b>1000 rub</b> to <i>4279380040001111</i></div>

Заранее благодарю за ответы.
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
AzaBroflovski
@AzaBroflovski
js developer
Например, вот так

function getFormData(selector) {
  const form = document.querySelector(selector)
  const price = form.querySelector('b')
  const location = form.querySelector('i a')
  
  const [sum, currency] = price.innerText.split(' ')
  const address = location.innerText
  
  return {
    address,
    amount: {
      sum: +sum,
      currency,
    }
  };
}

const data = getFormData('#invoice_form')

console.log(data);

Результат консоль лога:

{
    "address": 4279380040001111,
    "amount": {
        "sum": 1000,
        "currency": "rub"
    }
}

+ можешь повторно использовать функцию, если таких форм много
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@alekcena
Нелинейный наставник
1)
document.querySelector('#invoice_form').querySelector('b').innerText.split(" ")[0]

2)
document.querySelector('#invoice_form b').innerText.split(" ")[0]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы