質問概要
jQueryの.html()
で追加した要素の中のあるid
に、attr()
で属性を付けたい。
質問詳細
一つの関数の中に、2回ajax処理が書かれており、
1回目のajax処理でカレンダーを作成します。
2回目のajax処理で、カレンダーのある日付にattr
で属性を付けたいのですが、
.on
のイベントは発生せず、何を指定したら良いのか困っています…
onイベントをclickなどなしで、どのように発火させれば良いのでしょうか。
ご存じの方がいらっしゃいましたら、ご教授いただけると幸いです。
javascript
1// カレンダーのデータ取得 2 function getCalendar(year, month){ 3 var dt = new Date(); 4 5 // 引数が与えられなかった場合 6 if ( year === undefined ) dt.getFullYear(); 7 if ( month === undefined ) dt.getMonth() + 1; 8 9 var map = {"year": year, "month": month }; 10 11 // カレンダーを取得 12 $.ajax({ 13 type: "POST", 14 url: "./operation/get_calendar.php", 15 data: map, 16 }).done(function(data){ 17 sp = data.split("\t"); 18 19 var cnt = 0; 20 var result = '<table id="calendar">'; 21 result += '<tr><td>日</td><td>月</td><td>火</td><td>水</td><td>木</td><td>金</td><td>土</td></tr>'; 22 23 for ( var i=0; i<sp.length; i++ ){ 24 if ( cnt == 0 ) result += '<tr>'; 25 26 if ( isNaN(sp[i]) == false ){ 27 result += '<td id="d'+ sp[i] +'">' + sp[i] + '</td>'; 28 }else{ 29 result += '<td id="blank">' + sp[i] + '</td>'; 30 } 31 32 cnt += 1; 33 34 if ( cnt >= 7 ){ 35 cnt = 0; 36 result += '</tr>'; 37 } 38 39 } 40 41 result += '</table>'; 42 $("div#calendar").html(result); 43 44 45 // 追加情報取得 46 $.ajax({ 47 type: "POST", 48 url: "./operation/get_gameplans_from_date.php", 49 data: map, 50 }).done(function(data){ 51 line = data.split("\n"); 52 53 for ( var i=0; i<line.length; i++ ){ 54 if ( line[i] == "" ) continue; 55 56 sp = line[i].split("\t"); 57 58 console.log(line[i]); 59 $("table#calendar").on("load", function(){ 60 $("#d"+sp[3]).attr("background-color", "red"); //こいつを追加したい 61 }); 62 63 } 64 65 }); 66 67 68 }); 69 70 }

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/23 11:42
退会済みユーザー
2016/06/23 12:09 編集
2016/06/23 12:26