我試圖寫一個函數來反映insertAdjacentHTML DOM方法Element.insertAdjacentHTML在這裏它是功能鏡像insertAdjacentHTML
function insertAdjacent(targetElement) {
'use strict';
return {
insertAfter: function (newElement, targetElement) {
var parent = targetElement.parentNode;
if (parent.lastChild === targetElement) {
parent.appendChild(newElement);
} else {
parent.insertBefore(newElement, targetElement.nextSibling);
}
},
insertAtBegin: function (newElement) {
var fChild = targetElement.firstChild;
if (!fChild) {
targetElement.appendChild(newElement);
} else {
targetElement.insertBefore(newElement, fChild);
}
},
insertAtEnd: function (newElement) {
var lChild = targetElement.lastChild;
if (!lChild) {
targetElement.appendChild(newElement);
} else {
this.insertAfter(newElement, targetElement.lastChild);
}
}
};
}
當你插入的開始和結束的兩個不同的元素節點功能工作正常顯示爲here。但是,當我嘗試在開頭和結尾處插入相同的元素節點時出現問題,如here所示。它只在最後插入元素節點,而不是在開始和結束時都插入。 什麼可能導致此問題?謝謝
謝謝@fuyushimoya,我現在得到問題所在 – kellymandem