2016-06-08 4 views
0

Так у меня есть это:Скрыть/удалить строку с JQuery

jQuery('.amount').each(function() { 
    console.log(jQuery(this).text()); 
    var text = jQuery(this).text().replace("Gratuit !", " "); 
    jQuery(this).text(text); 
}); 

Он отлично работает с другим элементом, но это не один. Консоль возвращает правильные номера других строк, но, похоже, не может получить количество «Gratuit!». строки, которые находятся в модальном, но также и другие строки.

http://www.taomedecine.com/#seminaires
Он находится на кратковременном просмотре продукта «chrono accupuncture».

+0

«chrono accupuncture» продукт, похоже, не имеет этого тега '.amount' – Filipe

+0

Он делает. Это класс диапазона, который содержит цену продукта в модальном. – Zac

ответ

1

Это потому, что вы вызываете эту функцию перед тем в .amount элементы существуют на этой странице. Ваш модальный, вероятно, загружает его содержимое (содержащее элементы .amount) асинхронно.

Если посмотреть на консоли при загрузке страницы вы ссылку, вы можете видеть, что это не console.log() ничего из:

console.log(jQuery(this).text()); 

Это дает вам подсказку, что чем .each(), петли элементов.

Таким образом, вы должны вызвать функцию, которую вы упоминаете после была загружена модель содержимого, в его функцию обратного вызова предполагая, что она обеспечивает один.

+0

Дело в том, что он замыкает элементы «5,00 €» с помощью селектора .amount, и эта цена также находится в модальном режиме. Вот почему я в замешательстве. Он работает не только с этой строкой. – Zac

+0

Они уже существуют на странице, когда она загружается, если вы просматриваете источник на странице и ищете class = "amount", это только показывает их. У него нет строки «Gratuit!» где угодно на странице. – JohnnyFaldo

+0

Черт, ты прав. Боюсь, я не могу просто изменить код плагина woocommerce в случае обновления клиентом. Он стирает функцию. – Zac