Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как обернуть в тег слова? (https://javascript.ru/forum/jquery/81616-kak-obernut-v-teg-slova.html)

face2005 25.12.2020 16:44

Как обернуть в тег слова?
 
Добрый день! есть набор радиокнопок и после инпута стоит текст
<label for="field_omiiy-0">
	<input type="radio" name="item_meta[45]" id="field_omiiy-0" value="Для жизни" >
  Для жизни
</label>


подскажите как его обернуть в тег span ? не могу стилизовать его при выделеном радио инпуте

рони 25.12.2020 17:29

face2005,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  span{
      color: red;
  }

  </style>
</head>

<body>
<label for="field_omiiy-0">
	<input type="radio" name="item_meta[45]" id="field_omiiy-0" value="Для жизни" >
  Для жизни
</label>
<script>
  let label = document.querySelector('[for="field_omiiy-0"]');
  let span = document.createElement('SPAN');
  label.childNodes.forEach(el => el.nodeType == 3 && span.append(el));
  label.append(span);
</script>

</body>
</html>

face2005 25.12.2020 17:46

Спасибо большое! но мне бы как-то универсально... таких форм несколько, но структура одинаковая
<div class="frm_opt_container">
		<div class="frm_radio">
           <label for="field_omiiy-0">
		<input type="radio" name="item_meta[45]" id="field_omiiy-0" value="Для жизни" > Для жизни
           </label>
        </div>
		<div class="frm_radio">
          <label for="field_omiiy-1">
		<input type="radio" name="item_meta[45]" id="field_omiiy-1" value="Как инвестицию" > Как инвестицию
          </label>
        </div>
</div>

рони 25.12.2020 18:11

Цитата:

Сообщение от face2005
но мне бы как-то универсально...

что мешает добавить цикл по нужным элементам вместо строки 21?

рони 25.12.2020 18:21

face2005,
:(
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  span{
      color: red;
  }

  </style>
</head>

<body>
<div class="frm_opt_container">
		<div class="frm_radio">
           <label for="field_omiiy-0">
		<input type="radio" name="item_meta[45]" id="field_omiiy-0" value="Для жизни" > Для жизни
           </label>
        </div>
		<div class="frm_radio">
          <label for="field_omiiy-1">
		<input type="radio" name="item_meta[45]" id="field_omiiy-1" value="Как инвестицию" > Как инвестицию
          </label>
        </div>
</div>

<script>
  document.querySelectorAll('.frm_opt_container label').forEach(label =>{
  let span = document.createElement('SPAN');
  label.childNodes.forEach(el => el.nodeType == 3 && span.append(el));
  label.append(span);})
</script>

</body>
</html>

face2005 25.12.2020 18:59

огромное спасибо!


Часовой пояс GMT +3, время: 09:36.