使用Optimizely替换多个页面上的类

时间:2016-05-31 18:01:54

标签: jquery addclass removeclass optimizely

我正在尝试使用Optimizely设置A / B测试,以更改网站上所有产品页面上“添加到购物车”按钮的颜色。

以下是网站上的当前代码

<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');

2 个答案:

答案 0 :(得分:1)

为每个购物车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');

ID应该是唯一的,因此查询只是在找到它的第一个实例后停止查看。使用类,以便将更改应用于所有实例。

答案 1 :(得分:0)

我认为这应该可以解决问题:

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