jquery
  • addclass
  • removeclass
  • optimizely
  • 2016-05-31 21 views 1 likes 
    1

    我試圖使用Optimizely在網站上的所有產品頁面上設置添加到購物車按鈕的顏色來設置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

    你說得對,它的工作。但是,當我將它放入Optimizely時,它不起作用。 – Amanda

    +0

    控制檯中是否有錯誤?它是否找到'$('#id-for-test')'?文檔準備就緒時您是否運行代碼? –

    回答

    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?>")'/> 
    

    然後查詢基於class in替代ID:

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

    ID應該是唯一的,所以查詢只是停止查找後,它發現它的第一個實例。使用一個類,以便將更改應用於所有實例。

    +1

    非常感謝!這樣可行。不能相信我錯過了關於id和class的看法。 – Amanda

    +0

    @Amanda沒問題!如果你發現這個答案是正確的,你應該將它標記爲 –

    +0

    看起來像我在你原來的問題上建議的評論,然後;) –

    0

    我想這應該做的伎倆:

    $('input.add_to_cart_list').removeClass('add_to_cart_list').addClass('color-test'); 
    
    相關問題