2016-08-24 7 views
0

ボタンクリックで親クラスから値を取り込むためにJavaScriptを使用する際に問題が発生しています。私は、ボタン選択でjavascriptを起動し、Domツリーを登り、 "product-sku"クラスから値を引き出す必要があります。この投稿を掘り下げた後、https://gomakethings.com/climbing-up-and-down-the-dom-tree-with-vanilla-javascript/私はボタン選択でスクリプトを序文にしなければならないことを知っていますが、私はこの考え方を木のように動かすことができないのでしょうか?GTMのJavascriptの親クラスから値を引き出す

<div class="review-sku-line"> 
      <div class="ratings"> 
    <span class="amount"><a href="#" onclick="var t = opener ? opener.window : window; t.location.href='xxxx/review/product/list/id/123456/category/117/'; return false;">No Reviews</a></span> 
</div> 

      <div class="product-sku"> 
       <span><strong>Code:</strong> 7777</span> 
      </div> 
     </div> 

     <div class="actions"> 
          <form class="add-form cart-update-flag" method="post" action="xxxxx/checkout/cart/add/uenc/aHR3dUuaHRtbA,,/product/123456/form_key/cV1MQZ1w/"> 
        <input type="hidden" name="block_name" value="xxxxxx/_list_item_render_gridview"> 

        <div class="qty-control small"> 
         <button type="button" for="qty_prod_123456" class="qty-ctrl-sub button"> 
          <span class="grey-btn"><i class="icon-minus"></i></span> 
         </button> 
         <input id="qty_prod_123456" type="text" class="qty" name="qty" value="1"> 
         <button type="button" for="qty_prod_123456" class="qty-ctrl-add button"> 
          <span class="orange-btn"><i class="icon-plus"></i></span> 
         </button> 
        </div> 


        <button class="button btn btn-cart" title="Add to Cart" type="submit"> 
         <span>Add to Cart</span> 
        </button> 
       </form> 
        </div> 
    </div> 

ありがとうございました。何かアドバイスやアドバイスありがとうございました!

答えて

0

ターゲットオブジェクトの値を含む変数を定義するだけで済みます。イベント(クリック)が発生すると、この変数で値を使用できます。

新しい変数を作成し、[DOM要素]を選択します。そして、次の値を「CSSセレクタ」を使用します。div.product-SKU

複数のSKU値がページにある場合、あなたは次の一致する親オブジェクトの値を戻すには、この機能を使用することができます。

function findElementWithSelector (elem) { 

    // Define your selector value 
    selector = "product-sku"; 

    // Get closest match 
    for (; elem && elem !== document; elem = elem.parentNode) { 
     if (elem.hasAttribute("class") && elem.getAttribute(class) === selector) { 
     return elem; 
     } 
    } 
    }; 

この関数をタグ内に配置する必要があります。この関数は、すべてのページ(できるだけ早く「共通関数」HTMLタグなど)で起動します。 変数を使用してクリック要素の値を取得することができます。 (カスタムJavaScript変数)

if({{Click Element}} != "") 
    return findElementWithSelector({{Click Element}}); 
関連する問題