34105

[code]

    $(document).on('click', function() {
      $('body').append('<div class="t"></div>');
    });
    // あとから文字列をセットしたい
    $('.t').html('set');
    
[/code]

このままだとsetというテキストはセットされません。どうすれば、あとから文字列をセットすることができるでしょうか？


CC BY-SA 3.0
2017-04-17T14:18:08.063
34077
2017-08-30T13:13:12.350
19687
question
javascript jquery
jQueryでクリックして追加された要素にテキストをセットしたい

[code]

    <script>
    $(document).ready(function(){
        $('.t').append('<p class="p"></p>');
        $('.p').text('set');
    });
    </script>
    
    <body>
        <div class='t'></div>
    </body>
    
[/code]

pタグにtextを付けるのはどうでしょうか。


CC BY-SA 3.0
2017-04-18T01:18:14.583
34083
2017-04-18T04:14:16.720
2017-04-18T04:14:16.720
22611
34077
answer


> どうすれば、あとから文字列をセットすることができるでしょうか？

「後でイベントハンドラ関数の処理を追加したい」の意でしょうか。

[code]

    function handleClick (event) {
      var div = $('<div class="t"></div>');
      $('body').append(div);
    
      var endfn = event.data.endfn;
    
      if (typeof endfn === 'function') {
        event.data.div = div;
        endfn(event);
      }
    }
    
    var data = {};
    $(document).on('click', data, handleClick);
    
    // 後で click ハンドラ関数の処理を追加する
    data.endfn = function (event) {
      event.data.div.text('set');
    };
[/code]

[code]

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
[/code]


CC BY-SA 3.0
2017-04-18T12:31:42.340
34102
2017-04-18T12:31:42.340
20262
34077
answer

[code]

    $(document).on('click', function() {
      $('body').append('<div class="t">set</div>');
    });
    
[/code]


CC BY-SA 3.0
2017-04-18T18:10:08.233
34105
2017-04-18T18:10:08.233
2685
34077
answer