本帖最后由 haokan1113 于 2013-11-02 11:49:33 编辑

解决方案 »

  1.   


    $('body').on('click',"div",function(){
        $(this).css({'color':'red','font-weight':'bold'}).html('You clicked me');        
    });
    函数原型:
    .on( events [, selector ] [, data ], handler(eventObject) )jquery API on
    不要再听到有人说live了!!!
      

  2.   

    楼主放弃on用live如何
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
       <script type='text/javascript'>
     $(document).ready(function(){
     $('#button').click(function(){
     $('body').append('<div class="future">I am a new div</div>');
     }); $('div.future').live('click',function(){
     $(this).css({'color':'red','font-weight':'bold'}).html('You clicked me');         //想实现单击新增加的div后,会改变div的内容和字体
    }); 
     });
       </script>
      

  3.   


    都说不要再提live了,都被废除了,打入冷宫的东西,还一口一口娘娘叫的。LZ我的代码试了没?
      

  4.   

    代码可以运行啊!lz你检查一下你的jquery文件引入了没有?
      

  5.   

    用bind
    on 不符合你的需求场景
      

  6.   


    bind倒是可以,但只影响了已存在的div, <div class='future'>Already on page</div>,后面的不行
    都说不要再提live了,都被废除了,打入冷宫的东西,还一口一口娘娘叫的。LZ我的代码试了没?代码试过了,也没效果
      

  7.   

    $(document).on('click','div', function() {
    $(this).css({
    'color' : 'red',
    'font-weight' : 'bold'
    }).html('You clicked me'); //想实现单击新增加的div后,会改变div的内容和字体
    });
      

  8.   

    完全 没问题啊<html>
    <head>
      <title>New Document </title>
      <meta name="Generator" content="EditPlus">
      <meta name="Author" content="">
      <meta name="Keywords" content="">
      <meta name="Description" content="">
      <style type='text/css'>
        div
        {
          border: 1px solid black;
          cursor: pointer;
          width: 200px;
          margin: 10px;
        }
      </style>
    </head>
    <body>
      <input type='button' id='button' value='Create New Element' />
      <div class='future'>
        Already on page</div>
      <script type='text/javascript' src='jquery-1.10.2.min.js'></script>
      <script type='text/javascript'>
        $(function () {
          $('#button').click(function () {
            $('body').append('<div class="future">I am a new div</div>');
          });      $('body').on('click', "div",function () {
            $(this).css({ 'color': 'red', 'font-weight': 'bold' }).html('You clicked me');         //想实现单击新增加的div后,会改变div的内容和字体
          });
        });
      </script>
    </body>
    </html>
      

  9.   

    多谢,问题找到了,我的JQUERY是以前下载的一个jquery.1.26.js,重新下了一个jquery-1.10.2.min.js就好了,谢谢
      

  10.   

    谢啦,还发现个问题,on函数必须这样写
     $('body').on('click', "div",function () {
          });少一个参数就不行哒
     $('div.future').live('click',function(){
     }); 
      

  11.   

    $('div').on('click', function () 也可以,对事先存在的是可以的