JavaScript insertBefore函数无法正常工作

时间:2019-05-13 20:38:06

标签: javascript html

我在javascript中使用insertBefore函数,但是它不起作用,它没有返回任何错误,但是没有插入任何元素。但是,当我使用append函数相同时,它可以工作。我对此感到困惑。请告知我该怎么办??

let checkout__button = document.querySelectorAll(".shopify-payment-button__button");
checkout__button.forEach(function (response) {
  let cloneBtn = response.cloneNode(true);
  cloneBtn.classList.add("plusbooster__btn","__beforeCheckout_trigger");
  response.parentNode.insertBefore(cloneBtn, response);
  response.classList.add("PB_hidden");
});

1 个答案:

答案 0 :(得分:0)

我认为问题在于您使用的是parentNode而不是parentElement(虽然不确定)。

我个人更喜欢使用insertAdjacentElement,它比insertBefore用途更广泛(而且您不必进行丑陋的parentNode/Element通话)。

response.insertAdjacentElement('beforebegin', cloneBtn);