JQuery access dynamically created objects

后端 未结 3 1862
梦如初夏
梦如初夏 2021-01-28 05:41

How can I acceess objects(divs) that were dynamically generated. I mean DIVS that were not present in output when $(document).ready(function() started.

If I

相关标签:
3条回答
  • 2021-01-28 06:22

    Create the div explicity and assemble its attributes and events before you append it.

    var $div = $('<div />').append('can you click on me?').attr('id', 'clicker2').click(function() {
    alert('hurray, it works');
    });
    $('#container').append($div);
    
    0 讨论(0)
  • 2021-01-28 06:22

    Just put the click binding inside the first click function:

    $('#click_me').click(function() 
    {
        $('#container').append('<div id="clicker2">can you click on me?</div>');
        $('#clicker2').click(function(){  alert('hurray, it works');   });
    });
    

    As you have it, the binding is being called, but there is no "div#clicker2" to bind to the second function.

    Hope this helps.

    0 讨论(0)
  • 2021-01-28 06:30

    .click() functions that aren't working on spans or divs that are added later, you'll need to use .live()

    $("#clicker2").live("click", function(){
      # do stuff to spans currently existing
      # and those that will exist in the future
    });
    
    0 讨论(0)
提交回复
热议问题