2 回答

TA貢獻1852條經驗 獲得超1個贊
您的程序永遠不會進入循環,并且它還會生成 ReferenceError 因為products從未定義為查找它的長度。你必須在程序進入 for 循環之前定義它。而另一件事cloneNode()只是在基礎級別創建克隆。您必須使用cloneNode(true)它來克隆它及其后代。這是您的代碼的修復:
let button = document.createElement("div");
button.innerHTML = "<a class='btn hero-btn'>Add to cart</a>";
let products = document.querySelectorAll(".single-product");
for (let i = 0; i < products.length; i++) {
products[i].appendChild(button.cloneNode(true));
}

TA貢獻1829條經驗 獲得超7個贊
您需要調用cloneNode()withtrue來克隆它的后代/子代。
同樣首先獲取元素列表一次,然后遍歷它并附加按鈕,就像。
let button = document.createElement('div');
button.innerHTML = "<a class='btn hero-btn'>Add to cart</a>";
let productSections = document.querySelectorAll('.single-product');
for (let i=0 ; i < productSections.length ; i++){
productSections[i].appendChild(button.cloneNode(true));
)
添加回答
舉報