亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

GTM - 獲取點擊元素的第三個父元素

GTM - 獲取點擊元素的第三個父元素

慕桂英4014372 2023-04-27 17:09:42
在自定義 javascript 變量中,如何獲取被單擊元素的第三個父元素,然后再獲取子元素?我需要從此示例中獲取價格 (437,00) 的值。單擊按鈕的選擇器:#addToCartForm3V1061551 > button > span我需要獲得的價格選擇器: body > main > div.main__inner-wrapper.js-main-inner-wrapper > div.main__content > div.page-content > div.page-content-main > div > div:nth-child(1) > div > div > div.owl-wrapper-outer > div > div:nth-child(2) > div > a > div > div.product-teaser__details.product-teaser--price-discount > div > div.product-teaser__bottom > div.product-teaser__price-block > div.product-teaser__price > span.price-without-discount我試過這個答案的變體:https://stackoverflow.com/a/44316348/10363442 但沒有運氣......function(){    var title = jQuery({{Click Element}}).parent().find('h2').html();    return title;}
查看完整描述

1 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

下面應該向您展示如何定位元素,但是根據您想要實現的目標,您可能需要綁定到一個事件作為起點并顯然采取進一步的行動......


使用 jQuery ...


var parentElem = jQuery('.add_to_cart_form .btn-primary').closest('.product-teaser__bottom');


var data = jQuery('.price-without-discount', parentElem).text();


console.log(data);


(function($){


  var btn = $('.add_to_cart_form .btn-primary');

  btn.on('click', function(e){

    e.preventDefault();

    var parentElem = $(this).closest('.product-teaser__bottom');

    var data = $('.price-without-discount', parentElem).text();

    console.log(data);

  });


})(jQuery);

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<div class="product-teaser__bottom">

    <div class="product-teaser__price-block">

        <div class="product-teaser__price-without-discount"></div>

        <div class="product-teaser__price">

            <span class="price-without-discount">437,00</span>

            <span class="product-teaser__price-currency">CZK</span>

        </div>

    </div>

    <div class="product-teaser__add-to-cart">

        <form class="add_to_cart_form">

            <button class="btn btn-primary">Test Button</button>

        </form>

    </div>

</div>

使用香草javascript ...


/**

 * Element.closest Polyfill

 *

 * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/closest

 */

if (!Element.prototype.matches) {

  Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;

}

if (!Element.prototype.closest) {

  Element.prototype.closest = function(s) {

    var el = this;

    do {

      if (Element.prototype.matches.call(el, s)) return el;

      el = el.parentElement || el.parentNode;

    } while (el !== null && el.nodeType === 1);

    return null;

  };

}


var btnElem = document.querySelector('.add_to_cart_form .btn-primary');

var parentElem = btnElem.closest('.product-teaser__bottom');

var data = parentElem.querySelector('.price-without-discount').textContent;


console.log(data);


btnElem.addEventListener('click', function(e){

  e.preventDefault();

  var parentElem = this.closest('.product-teaser__bottom');

  var data = parentElem.querySelector('.price-without-discount').textContent;

  console.log(data);

}, false);

<div class="product-teaser__bottom">

    <div class="product-teaser__price-block">

        <div class="product-teaser__price-without-discount"></div>

        <div class="product-teaser__price">

            <span class="price-without-discount">437,00</span>

            <span class="product-teaser__price-currency">CZK</span>

        </div>

    </div>

    <div class="product-teaser__add-to-cart">

        <form class="add_to_cart_form">

            <button stype="submit" class="btn btn-primary">Test Button</button>

        </form>

    </div>

</div>


查看完整回答
反對 回復 2023-04-27
  • 1 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號