我正在尝试使用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');
答案 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');