したがって、バニラJSに要素を追加する方法がいくつか見つかりました。私の状況はこれです:ここで使用する追加メソッド(raw 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)私はwikiContentTextの正確なテキストを持っていないので、私は.insertAdjacentHTML
を使用することはできません、それが動的に作成されます。
2)parentDiv.insertBefore(nodeToInsert, nodeToInsertAfter.nextSibling);
は、wikiName
に次の兄弟がいるため、ここでは動作しません。
3)私は.appendChild
を使って試しましたが、図のように機能しましたが、をwikiContent
とは別にスタイル付けする方法はわかりません。
質問:jQueryのを使用せずに要素を追加する別の方法は
ありますか?(未処理のJSにはまだ不満があり、まだjQueryを開始したくない)
また、これらの見出しを段落とは別にどのようにスタイルすることができますか?
ありがとうございます。
jQueryの構文に慣れている場合は、jQuery * light *を使用する必要があります。それはサイズの価値が十分です。私は約2年間バニラを書いていて快適でしたが、今でもjQueryに書きたいと思っています。特に、私はDOMコレクションを使いたいと思っていますが、驚異的なアニメーション(またはその他のタイムアウト)を考えてみましょう。バニラでは閉鎖が必要です。 jQueryでは '.each()'が得られます。欠点は、jQueryに行くと閉鎖をすぐに理解する必要がないことです。あなたが何かに慣れていないなら、*** jQueryを使用しないでください***。 –
"* wikiNamessをwikiContentsとは別にスタイル付けする方法がわかりません*" - それらに異なる 'class'属性を与えますか? – Bergi