所以我發現了幾種在Vanilla JS中添加元素的方法。我的情況是這樣的:在這裏使用哪個附加方法(原始JS)
wikiName和wikiContent都彼此動態,但分別加入。
的JavaScript
function processRequest() {
if (xhr.readyState == 4 && xhr.status == 200) {
response = JSON.parse(xhr.responseText);
console.log(response);
var divResults = document.getElementById("results");
for (i=0; i<10; i++) {
// Iterates through names of entries
var wikiName = document.createElement('p');
var wikiNameText = document.createTextNode(response[1][i]);
wikiName.appendChild(wikiNameText);
divResults.appendChild(wikiName);
var wikiContent = document.createElement('p');
var wikiContentText = document.createTextNode(response[2][i]);
wikiContent.appendChild(wikiContentText);
wikiName.appendChild(wikiContent);
}
}
}
這裏就是我想:
1)我不能使用.insertAdjacentHTML
,因爲我沒有的確切的文本wikiContentText,它是動態創建的。
2)parentDiv.insertBefore(nodeToInsert, nodeToInsertAfter.nextSibling);
也不在這裏工作恕我直言,因爲wikiName
s有下一個兄弟姐妹。
3)我試過使用.appendChild
,正如你可以在圖片中看到它的工作,但現在我不知道如何風格wikiNames
s分開wikiContent
s。
問題:
有另一種方式爲追加一個元素,而無需使用jQuery的?(我對JS還不熟悉,不想啓動jQuery)
或者我該如何將這些標題與段落分開設置樣式?
預先感謝您。
如果您熟悉jQuery語法,則應該使用jQuery * light *。這是非常值得的大小。我已經很舒服地寫了兩年的香草,但仍然發現自己想要更多地寫jQuery。特別是當我想要通過DOM集合,比如說,錯開的動畫(或任何其他超時)。在香草你需要關閉。在jQuery中你得到了'.each()'。缺點是,如果你使用jQuery,你不需要儘快瞭解閉包。如果你不熟悉,請不要使用jQuery ***。 –
「*我不知道如何將wikiNamess與wikiContents分開。*」 - 給他們不同的'class'屬性? – Bergi