2016-05-31 6 views
1

Я пытаюсь настроить тест A/B с помощью Оптимизации, чтобы изменить цвет кнопки «Добавить в корзину» на всех страницах продукта на сайте.Замена класса на нескольких страницах с помощью Optimizely

Вот текущий код на сайте

<input id="id-for-test" class="add_to_cart_list" value="Add to Cart" name="Add to Cart" type="button" 
                onclick='sendToDataLayer("Category Lower", "Add to cart");return cat_add_one_to_cart("<?= $p["id"] ?>", "<?= $param_sku ?>", "<?= $output_price ?>", "<?= $path ?>", "<?= $can_buy_limit ?>" ,"<?=$this_page_type?>")'/> 

Я добавляю это в редакторе кода Optimizely и это не работает

$('#id-for-test').removeClass('add_to_cart_list').addClass('color-test'); 
+0

Он работает на [JSFiddle] (https://jsfiddle.net/j61m26u4/) –

+0

Вы правы, это действительно работает. Но это не работает, когда я помещаю его в Оптимизи. – Amanda

+0

Ошибка в консоли? Находит ли он '$ ('# id-for-test')'? Вы запускаете код, когда документ готов? –

ответ

1

Раздайте Cart input элемент общего класса, таких как cart-class :

<input id="id-for-test" class="cart-class add_to_cart_list" value="Add to Cart" name="Add to Cart" type="button" 
    onclick='sendToDataLayer("Category Lower", "Add to cart");return cat_add_one_to_cart("<?= $p["id"] ?>", "<?= $param_sku ?>", "<?= $output_price ?>", "<?= $path ?>", "<?= $can_buy_limit ?>" ,"<?=$this_page_type?>")'/> 

Тогда запрос на основе класса в вместо ID:

$('.cart-class').removeClass('add_to_cart_list').addClass('color-test'); 

идентификаторы должны быть уникальными, поэтому запрос просто прекращает поиск после того, как считает, что это первый случай. Используйте класс, чтобы он применял изменения ко всем экземплярам.

+1

Большое вам спасибо! Это работает. Не могу поверить, что я пропустил это относительно id против класса. – Amanda

+0

@Amanda Нет проблем! Если вы правильно определили этот ответ, вы должны отметить его как таковой –

+0

Похож на комментарий, который я предложил по вашему первоначальному вопросу, который работал тогда;) –

0

Я думаю, что это следует сделать трюк:

$('input.add_to_cart_list').removeClass('add_to_cart_list').addClass('color-test'); 

 Смежные вопросы

  • Нет связанных вопросов^_^