0

これに対する答えが表示されると、自分を激しく(非常に激しく)蹴ることになると確信していますがconsole.log(markerDiv)、コンソールを実行すると、 img 要素が出力されるだけです。私は何を間違っていますか?

回答が示唆するように編集:

var dynamic = document.createElement("img");
dynamic.src = "images/dynamic.png";
dynamic.setAttribute("id", "img-" + markerData[data].registration);
var markerDiv = document.createElement("div");
markerDiv.appendChild(dynamic);

console.log(markerDiv);

console.log の結果:

ここに画像の説明を入力

ありがとう

4

2 に答える 2

3

.appendChild親ではなく子への参照を返すため、そのようにチェーンすることはできません。

var markerDiv = document.createElement("div").appendChild(dynamic);
// markerDiv === dynamic

チェーンを壊すとうまくいきます:

var markerDiv = document.createElement("div");
markerDiv.appendChild(dynamic);
于 2013-08-04T10:55:29.493 に答える
2

新しく作成した div を DOM に追加していません。Node.appendChild新しく作成されたノードを返します(HTMLImageElementあなたの場合)。

var div = document.createElement("div");
div.appendChild(dynamic);
document.appendChild(div);
于 2013-08-04T10:54:22.037 に答える