JSについて詳しくないのですが、createElementで作成して入れるのと、手動でくっつけて追加するのはどちらの方が高速なのでしょうか。
js
1let a = document.createElement("a"); 2a.href = json[i].link; 3a.target = "_blank"; 4let div = document.createElement("div"); 5let strong = document.createElement("strong"); 6strong.innerText(json[i].title); 7div.appendChild(strong) 8let p = document.createElement("p"); 9p.innerText(json[i].snippet); 10div.appendChild(p) 11document.getElementById('SearchResults').appendChild(div)
js
1let o = "<a href="; 2let p = " target="_blank"><div><strong>"; 3let q = "</strong><p>"; 4let r = "</p></div></a>"; 5document.getElementById('SearchResults').insertAdjacentHTML('beforeend', o + json[i].link + p + json[i].title + q + json[i].snippet + r);
また、子要素に追加するとき、insertAdjacentHTMLとappendChildどちらの方が高速なのでしょうか。
JSの基礎などでもいいので教えてください。
追記
教えていただいたFragmentを使って見ました。
テンプレ化することで高速になると聞きましたが、約10回ほどの繰り返しの場合はどちらの方が早いのでしょうか。
js
1for (let i = 0; i < length|0; i=(i+1)|0) { 2 let a = document.createElement("a"); 3 a.href = json[i].link; 4 a.target = "_blank"; 5 let div = document.createElement("div"); 6 let strong = document.createElement("strong"); 7 strong.innerText(json[i].title); 8 div.appendChild(strong) 9 let p = document.createElement("p"); 10 p.innerText(json[i].snippet); 11 div.appendChild(p) 12 fragment.appendChild(div); 13} 14document.getElementById('test').appendChild(fragment);
回答3件
あなたの回答
tips
プレビュー