関数に渡されているHTMLElementオブジェクトのペアがあります。1つはコンテナdivで、もう1つはコンテナに追加されます。これは期待どおりに機能しています。後で子要素を見つけるために、このタイプの要素に固有のクラスを指定します(複数存在する場合があります)。これも期待どおりに機能しています。ただし、後で子要素を操作しようとすると、jQuery .find( "。myClass")は結果を返しません。次のコードは、chromeとie8 / 9では1を返しますが、ie7では0を返します。
$(document).ready(function(){
var insert = document.createElement("div");
insert.setAttribute("class","insertedElement");
insert.appendChild(document.createTextNode("Some Text"));
$(document.getElementById("container")).append(insert);
alert($("#container").find(".insertedElement").length);
});
これはJSFiddleにあります:http://jsfiddle.net/tYfqk/
ここで何が起こっているのか、またはどうすれば修正できますか?
また、不自然な$( "document.getElementById(" container "))。append(insert);を失礼します。これは、私のオブジェクトがjQueryオブジェクトではなくDOM要素として入ってくることを示すためだけのものです。$("を知っています。 #container ")。append(insert);はそこでより意味がありますが、変更しても問題はまだ存在します。