我在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");
});
答案 0 :(得分:0)
我认为问题在于您使用的是parentNode
而不是parentElement
(虽然不确定)。
我个人更喜欢使用insertAdjacentElement
,它比insertBefore
用途更广泛(而且您不必进行丑陋的parentNode/Element
通话)。
response.insertAdjacentElement('beforebegin', cloneBtn);