基本
。開始するには、document.getElementsByTagName
はNodeList
で、Node
ではなく、appendChild
要素が返されます。その周りを取得するには、いずれかのそのコレクションの最初の項目を取得し、または単にdocument.body
を取得するには:
var addImage = document.getElementsByTagName("body"); // NodeList
var bodyOne = addImage[0]; // <body> element
var bodyTwo = document.body; // <body> element
を第二に、あなたはあなたの例では構文の強調表示を見れば、あなたが引用のカップルを逃していることがわかりますマーク。
var string = "imagefolder/" + number + "_of_" + suit + ".png";
GottZが指摘したように、あなたがしているように最後に、あなただけのimg src
を参照することはできません。 img
要素を作成し、src
プロパティを設定する必要があります。
var img = document.createElement("img");
img.src = string;
より高度な
あなたはすでにこれを処理している可能性が
、我々だけを見て、あなたのコードの少量を持っていますが、ジャストインケース:あなたはDOMが完了するまで待機する必要が変更する前にロードしてください。これは、DOMContentLoaded
イベントが発生するのを待つことで最も効果的です。
document.addEventListener("DOMContentLoaded", function() {
// Your work here.
});
あなたは52個の要素を作成することになるだろうので、DocumentFragment
を作成し、その後身体にフラグメントを追加し、それにすべてのあなたの新しい要素を追加する方が効率的でしょう。これによりブラウザの再塗装が少なくなりますので、しばしばはるかに高速です。
var fragment = document.createDocumentFragment();
// ...
fragment.appendChild(img);
// ...
document.body.appendChild(fragment);
を総括全体のことは、あなたのコードは、おそらく次のようになります意味:
document.addEventListener("DOMContentLoaded", function() {
"use strict";
var numbers = [2, 3, 4, 5, 6, 7, 8, 9, 10, "Jack", "Queen", "king", "Ace"];
var suits = ["Clubs", "Diamonds", "Hearts", "Spades"];
var fragment = document.createDocumentFragment();
suits.forEach(function (suit) {
numbers.forEach(function (number) {
var img = document.createElement("img");
img.src = "imagefolder/" + number + "_of_" + suit + ".png";
fragment.appendChild(img);
});
});
document.body.appendChild(fragment);
});
私はそれが役に立てば幸い。
回答があれば記入してください。 –