Используйте jQuery, чтобы изменить вложенный текст - PullRequest
1 голос
/ 17 апреля 2020
<div class="registrationField BIRTH_DATE">
 <span class="registrationlabel BIRTH_DATE">
  <label for="registrationTextField_3">Birth Date (M/D/YY)</label>:
  <span class="registration_requiredCue">*</span>
 </span>
 <input class="registrationInput registrationTextField BIRTH_DATE" id="registrationTextField_3" type="text"></div>

Я хочу изменить текст метки (в данном случае «Дата рождения (M / D / YY)»), однако, поскольку метка не имеет класса или идентификатора, я не могу понять как это сделать. К сожалению, у меня нет доступа к HTML части этой формы, поэтому мне нужно положиться на jQuery, чтобы изменить метку. Я перепробовал более десятка методов (большинство из похожих вопросов на этом сайте). Лучшее, что я смог сделать, это подключиться к выходному промежутку, но из-за того, как сгенерирована форма, я не могу гарантировать, что ярлык будет одинаковым каждый раз, поэтому я не могу просто заменить его.

Моя текущая итерация вообще не работает.

$(document).ready(function(){$(".registrationlabel.BIRTH_DATE").contents().filter(function(){return this.nodeType === 3;}).find("Birth").replaceWith("Death");});

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

Вы можете использовать селектор jquery :contains здесь, чтобы найти любой label с текстом Birth Date, а затем использовать jquery .text() метод замены текста " Рождение »со« Смертью »вроде:

$(".registrationlabel.BIRTH_DATE label:contains('Birth Date')")
  .text((i, v) => v.replace("Birth", "Death"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="registrationField BIRTH_DATE">
 <span class="registrationlabel BIRTH_DATE">
  <label for="registrationTextField_3">Birth Date (M/D/YY)</label>:
  <span class="registration_requiredCue">*</span>
 </span>
</div>
0 голосов
/ 17 апреля 2020

Вы можете выбрать метку по ее атрибуту for:

 $("label[for='registrationTextField_3']").text("New Text");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...