jsfiddleにはたくさんのコードが含まれていますが、そのほとんどはこの質問とはほとんど関係ありません。いずれにせよ、私があなたを正しく理解していれば、あなたが説明を求めているのはとにかくかなり高レベルです。
私が最初にすることはclass
、すべての新しい要素に共通点を含めるようにすることです。次に、次のようにクリックイベントにバインドし.on()
ます。
$("#parentElement").on('click','.newClass', function() {
var me = $(this).text(); //gets the specific text from each .newClass element when clicked
doAjaxRequest( me );
}
#parentElement
このクリックハンドラーを作成する前に、DOMに注意が必要です。
あなたのdoAjaxRequest
関数は次のようなものになります:
function doAjaxRequest( elemText ) {
$.ajax({
...
data: elemText,
...
});
}
.on()
これについては、jQuery1.7以降で注意が必要です。古いバージョンについては、次のオプションを参照してください。
$(selector).live(events, data, handler); // jQuery 1.3+
$(document).delegate(selector, events, data, handler); // jQuery 1.4.3+
$(document).on(events, selector, data, handler); // jQuery 1.7+
バージョン1.4.4の場合。コードは次のようになります。
$("#parentElement").delegate('.newClass', 'click', function() {
var me = $(this).text(); //gets the specific text from each .newClass element when clicked
doAjaxRequest( me );
}