jQueryの新機能で、セレクタを動的に変更する際に問題が発生しました。jQuery動的親にオブジェクトを追加
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script>
function addFirst(){
var fc = document.getElementById("fc").value;
$("#parent").append("<div id='firstChild" + fc + "'>My boring text.</div><a href='#' onClick='addSecond(\"firstChild" + fc +"\")'>Add Second Child</a>");
fc = (fc - 1) + 2;
document.getElementById("fc").value = fc;
}
function addSecond(){
$(***THE PARENT SELECTOR***).append("<div>Some more boring text.</div>");
}
</script>
<body>
<input type="hidden" id="fc" value="1"
<div id="parent"></div>
<a href="#" onClick=" addFirst('#parent');">Add First Child</a>
</body>
</html>
私は、テキスト「PARENTのSELECTOR」で示されるように、その親オブジェクトは、動的に作成されたとき、私は、オブジェクトの直接の親を取得し、セレクタを必要としています。誰がこの質問に出くわす場合に
EDIT
これに対する私のソリューションは、onClickイベント内では.call使用することでした。 addFirst()関数の列に位置
:this
キーワードを意味すると仮定すると
$(this.parentNode).prepend("<div>BlahBlah");
あなたは '$(この).afterを試してみました( ) 'append()の代わりに? – Aprillion
私は実際に.prepend()を使用しました。それらはすべて本質的に同じことを行います。あなたがコンテンツにしたい場所の問題です。私はコンテンツが欲しいと思うdivの中にアクチベータ・リンクを置いて、親子の混乱を避けるようにしました。 最も差を作った部分: '<' '' Iは、指定されたどのような対象となる)関数 'addSecond(セレクタのためのパラメータを設定.call'。次に、関数内で: '$(this.parentNode).prepend(