добавление строки к переменной в jquery добавляет ее несколько раз

#jquery

#jquery

Вопрос:

когда я сохраняю значение чего-либо в переменной, а затем добавляю к ней строку, чтобы я мог ее заменить, она добавляет строку три раза. я не могу понять, как это исправить. вот код.

 var value = $("input[value='First USPS ___Mis.EasyPost']").parents('.shipping-option-item').find('.ui-button-text').html();
var newValue = value   '<br> <span style = "font-size:0.8em">Expected delivery</span>';
$("input[value='First USPS ___Mis.EasyPost']").parents('.shipping-option-item').find('.ui-button-text').html(newValue); 
 

я также пробовал ниже, и он также добавляет его три раза

 $("input[value='First USPS ___Mis.EasyPost']").parents('.shipping-option-item').find('.ui-button-text').append('<br> Expected Delivery'); 
 

вот фрагмент html

 <div class="shipping-option-item">
  <span class="tooltip" data-tooltip="First USPS">
    <i class="fa fa-info-circle" aria-hidden="true"></i>
       <div class="option-description">
          First USPS
       </div>
  </span>
  <div class="option-name ui-buttonset">
    <input id="shippingoption_1" class="ui-helper-hidden-accessible" type="radio" name="shippingoption" onclick="getDeliveryEstimation('Mis.EasyPost', 'USPS First')" value="First USPS ___Mis.EasyPost" data-shippingmethod="Mis.EasyPost" data-shippingmethodoption="USPS First">
    <label for="shippingoption_1" class="ui-button">
       <span class="ui-button-text">First USPS - $2.99</span>
    </label>
  </div>
  <div class="option-description" style="display: none;">
    First USPS
  </div>
</div>
 

вот как это выглядит после добавления кода jquery

 <label for="shippingoption_3" class="ui-button">

<span class="ui-button-text">Express USPS - $24.25
     <br> <span style="font-size:0.8em">Expected delivery</span>
     <br> <span style="font-size:0.8em">Expected delivery</span>
     <br> <span style="font-size:0.8em">Expected delivery</span>
                            </label>
 

Комментарии:

1. Не видя ваш HTML, это предположение, но parents() может возвращать несколько элементов. Попробуйте использовать closest() вместо этого. Если это не поможет, пожалуйста, добавьте HTML-код к вопросу, чтобы можно было создать демонстрацию проблемы

2. итак, поменяйте родителей на ближайших? извините, я не могу предоставить html, я могу добавить html только в нижнюю часть, поэтому я как бы взламываю его, используя метод проверки браузера. когда я копирую то, что есть в html, в тестер jquery, мой код работает отлично.

3. добавлен фрагмент html из inspect в браузере, к которому я применяю jquery

4. @bigs89 что в getDeliveryEstimation функции? и как вы привязываете событие изменения на радио? в идеале переключатель должен иметь событие изменения вместо щелчка, иначе он будет выполняться каждый раз, когда на него нажимают, независимо от статуса checked.

5. @Pirate вот почему я не хотел включать html, как указано, у меня нет доступа ко всему коду, который он вызывает, ко многим вещам, к которым у меня нет доступа. я могу только просмотреть метод inspect в браузере, а затем добавить jsquery в нижнюю часть страницы. также на странице нет кнопок, которые что-либо меняют, поэтому idk, на что вы ссылаетесь. при загрузке страницы загружается поле с выбираемыми параметрами доставки, которые затем выбираются и продолжают оформление заказа