.append()方法何时发生?

时间:2013-11-22 14:13:06

标签: jquery

我想知道,这个方法什么时候应用的确切,例如,如果我在一个带有一组指令的for循环中有一个追加,并且其中一条指令是在追加到DOM后应用函数onClick,:

        for(i=0;i<somelength;i++){

           $('div element').append(createButton(text_of_button,href_of_button,id_of_button));

           $(id_of_button).click(function(){

           //Some logic here...

           });
        }        

按钮是成功创建的,它们的链接工作正常,但.click(...)没有做任何事情。我错过了什么吗?附加是在飞行中发生还是其他什么? ps:id_of_button ='#someButton'

createButton实现:

function createButton(buttonText,hrefLink,id) {
    var button = '<a href="'+hrefLink+'"class="ui-btn ui-btn-corner-all ui-shadow ui-btn-up-c" data-role="button" data-theme="c"' + '' + 'id="' + id + '"' + '>' +
        '<span class="ui-btn-inner ui-btn-corner-all">' +
        '<span class="ui-btn-text">' + buttonText + '</span>' +
        '</span>' +
        '</a>';
    return button;
}

1 个答案:

答案 0 :(得分:1)

如果你创建的id元素等于id_of_button中的任何元素,那么要选择新元素并指定一个你需要使用的点击:

$("#" + id_of_button).click(function() {

您说“ps:id_of_button = '#someButton'。我建议您将ID设置为"someButton" 而不 #,然后您可以选择我已经在上面显示了。如果你的id确实在#开头包含<button id="#someButton">,那么要使用jQuery选择它,你需要像这样转义#:< / p>

$("#\\#someButton")

...你的变量将是这样的:

$("#\\" + id_of_button).click(function() [