JQuery方法执行顺序?

Ref*_*din 1 javascript jquery

我正在尝试使用以下内容将<div>包含<ul><li>结构的页面中的特定数据加载<div>到此页面上.目前正在发生的是,似乎"似乎"尝试在数据出现之前加载菜单.我这样说是因为我的菜单首先在页面上弹出一个NULL,这是默认的,然后我期待的列表会填充到<div id="hierarchy">我的空飞出菜单下.

我是JQuery的新手,所以希望这是一个简单,无知的错误.

<script type="text/javascript">
$(document).ready(function(){
    $('div.ms-quickLaunch').replaceWith('<div id="hierarchy" style="border:solid 1px white; width:0px;"></div>');
    });

$(function(){
            $('#hierarchy').load('http://wwcshare/icenter/Pages/wwcMenuContent.aspx #menuContent'); // grab content from another page
            $('#hierarchy').menu({
                    autoShow: true,
                    content: $('#hierarchy').next().html(),
                    backLink: false,
                    crumbDefaultText: ' '
                });         
        });
</script>
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 6

.load()异步运行,您需要调用任何依赖于它在complete回调中加载的内容的函数,如下所示:

$(function(){
  $('#hierarchy').load('http://wwcshare/icenter/Pages/wwcMenuContent.aspx #menuContent',
    function() {
      $(this).menu({
        autoShow: true,
        content: $(this).next().html(),
        backLink: false,
        crumbDefaultText: ' '
      });         
   });
});
Run Code Online (Sandbox Code Playgroud)

在回调this中指的是你要加载的元素#hierarchy,所以你也可以在那里保存选择器.