以前に追加された jQuery を使用して要素にアクセスしようとしています。動的に追加された要素は「通常の」コマンドを使用して表示できないことを理解しています.link()および.on()に関連する他の多くの質問を見てきましたが、それらの回答を適用する方法がわかりませんこの場合。重複の可能性があることをお詫びしますが、jQuery は初めてです。
これは基本的な例です - テーブルに行とセルを追加し (これは通常ループになります)、セルに画像を挿入します。その後、この画像の src にアクセスして変更したいと思います。
addTableRows = function(){
$("#tableBody")
.append($("<tr class='tableRow>")
.append($("<td valign='top' align='center'>")
.append($("<img src='expand-icon.gif'>")
.attr('id','expand-icon')
.click(function(){
iconClicked();
}))));
iconClicked = function(){
var test = $("#expand-icon").attr("src");
alert(test);
}
現時点でtest
は、「未定義」として返されます。どうすればexpand-icon
画像にアクセスできますか?
編集:
(テーブルセルのループと一意の ID を含めるために詳細を追加します)
addTableRows = function(response){
var members = response['member'];
$.each(members, function (idx, data) {
var currentID = data['identifier'];
$("#tableBody")
.append($("<tr class='tableRow'>")
.append($("<td valign='top' align='center'>")
.append($("<img src='expand-icon.gif'>")
.attr('id','expand-icon' + currentID)
.click(function(){
iconClicked(currentID);
})
)
)
);
});
}
iconClicked = function(currentID){
var test = $("#expand-icon" + currentID).attr("src");
alert(test);
}