【问题标题】:how to append with content and afterAppending function in jquery如何在jquery中附加内容和afterAppending函数
【发布时间】:2017-05-18 22:11:31
【问题描述】:

默认jquery append只支持.append( content [, content ] ),如何实现如下代码:

$(body).append("<p>prpr</p>", function() {
// do smth after append
})

【问题讨论】:

标签: javascript jquery


【解决方案1】:

不要认为你需要回调,.append() DOM 操作是同步的。所以只需将函数放在.append() 行下方

【讨论】:

    【解决方案2】:

    在 jQuery 中,您可以检查 $(element).length 以确保已附加新的 DOM 节点。

    工作示例:

    $(document).ready(function(){
      
        $('body').append('<p class="newParagraph1">This is a new paragraph, added via a script.</p>');
      
        $('body').append('<p class="newParagraph2">This is a second new paragraph, added via a script.</p>');
    
        if ($('.newParagraph1').length) {
    console.log('The first dynamically added paragraph just loaded.');
        }
      
        if ($('.newParagraph2').length) {
    console.log('The second dynamically added paragraph just loaded.');
        }
      
        if ($('.newParagraph3').length) {
    console.log('The third dynamically added paragraph just loaded.');
        }
    
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <p>This paragraph is already in the markup</p>

    【讨论】:

      【解决方案3】:
      $("div").each(
          function(){
              $(this).append("<p>prpr</p>");
              function() {
                      // do smth after append
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-26
        • 2012-04-05
        • 2016-12-30
        • 2011-01-08
        相关资源
        最近更新 更多