を使用して既存の要素に HTML スニペットを動的に追加しようとしています.append
。
どういうわけか、スクリプトによって作成された HTML 文字列が要素に追加されません。
スニペットが追加された時点では、追加された要素は DOM にフックされていません。
これらはすべて JavaScript 関数にカプセル化されています。コードは次のとおりです。
append_content = function() {
var elem = $('<li><div>some text</div></li>');
var somecontent = get_content(); // returns a string: '<div>xx</div>'
elem.append('<div>bleh1</div>');
elem.append(somecontent);
elem.append('<div>bleh2</div>');
console.log(elem);
return elem;
}
ログには、次のようなすべての項目が正しく含まれています。
<li>
<div>some text</div>
<div>bleh1</div>
<div>xx</div>
<div>bleh2</div>
</li>
しかし、後で elem を DOM にフックすると、関数呼び出しの内容が失われます。つまり、計算されたソースには表示されません (FireBug でも Chrome 開発ツールでも)。
次のようになります。
<li>
<div>some text</div>
<div>bleh1</div>
<div>bleh2</div>
</li>
ここでスコープの問題などがあるとほぼ確信していますが、わかりません。コンソールにエラー メッセージはありません。何かアドバイス?
アップデート
確かに、これは自作の問題でした。ここに投稿する例のコードを書き留めてみると、上記の関数呼び出しなしで同様の関数を呼び出していることに気付きました-愚かな私。すべてのコメントとヘルプに感謝します。