要素を DOM に挿入しましたappendTo()
。追加された要素の内部からDOMをトラバースして、追加された要素が追加された要素への参照を取得しようとしています。しかし、これは私にとってはうまくいかないようです。parent()
結果をコンソールに出力することで、いくつかのトラブルシューティングを行いました。1 レベル戻るたびにparent()
、追加された要素の親に到達するまで結果が得られます。その時点parent()
で空のセットを返します。
この問題を説明するコードの例を次に示します。
<div class="menu">
<span class="like current"></span>
<span class="done"></span>
<span class="add"></span>
<span class="report"></span>
<div class="panel">
<div class="panel-content">
<p>This function is not yet implemented</p>
<p>
<a class="cancel" onclick="cancel_panel(this)">Cancel</a>
</p>
</div>
</div>
</div>
div.panel
に追加されdiv.menu
、appendTo()
にdiv.panel-content
追加されましdiv.panel
たappendTo()
私が達成しようとしているのは、キャンセルリンクをクリックしてクラスcurrent
を削除することです。span.like
私はもう試した:
$(elem).closest("div.menu").children("span.current").removeClass("current");
(ここで、elem はa
キャンセル リンクの要素への参照です)
しかし、うまくいきません。$(elem).closest("div.menu")
代わりに空のセットを返しますdiv.menu
さらにトラブルシューティングを$(elem).parent()
行うと、p
タグへの予想される参照が表示され、 へ$(elem).parent().parent().parent()
の予想される参照が表示されdiv.panel
ます。しかし$(elem).parent().parent().parent().parent()
、空のセットを返します。
何が起きてる?追加された要素は、DOM をトラバースするときに実際の要素と同じように応答しませんか? jqueryはネストされた追加でプロットを失いますか? への参照を取得するにはどうすればよいdiv.menu
ですか?