#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, на что вы ссылаетесь. при загрузке страницы загружается поле с выбираемыми параметрами доставки, которые затем выбираются и продолжают оформление заказа