0

以下のコードで、これらの各要素に対して関数を呼び出す最良の方法はどれだろうと思っています。

    for (var y=1; y <= 24; y++) {       
    $("#christmasCalendar").append("<div class='span2'><h1><a href='#' data-toggle='tooltip' class='thumbnail' title='Click to add a question for this day'>"+y+"</a></h1></div>")  
    }

この関数を呼び出したい場合のように:

    $("#createChristmasDayQuiz").click(function () {
    $("#QuizGuideInfo").delay(1000).fadeIn('slow');
    $("div.infoHolder").html('<i class="fa-icon-bullhorn"></i>Select a color theme for your christmas calendar. This can be changed later.').hide().fadeIn('slow');
    $('#createQuiz').modal('show');
    });

同じ ID を持つことはできないことはわかっていますが、それでも、どちらが最善の解決策ですか?

前もって感謝します!

4

2 に答える 2

0

「on」イベントを #christmasCalendar オブジェクトにバインドできます

$("#christmasCalendar").on("click", "a", function(e){
    // handle link click event.
});

それはすべてのリンクで機能します

于 2013-05-02T00:03:01.277 に答える
0

文字列を挿入するだけでなく、jQuery を使用して実際の DOM 要素を動的に作成できます。その後、関数をクリック ハンドラーにバインドするなど、必要なことは何でも行うことができます。

例えば

var myNewElement = $('<div/>').addClass('div-class').appendTo('#christmasCalendar').click(function(e) {
    alert('clicked on new element'); 
});
于 2013-05-02T00:01:41.950 に答える