jQuery:What';这是使用(文档)的正确方法;在.click()和.load()的组合中?

jQuery:What';这是使用(文档)的正确方法;在.click()和.load()的组合中?,jquery,leaflet,document-ready,Jquery,Leaflet,Document Ready,我正在尝试为一个移动应用程序创建一个菜单,它将我的#content-DIV的内容从.HTML文件转换为新内容 我正在使用以下代码: $(document).ready(function(){ $('#menu li').click(function(){ $('#content').load(this.id + '.html #content *'); }); }); 除一个HTML文件外,此操作有效: <div id="co

我正在尝试为一个移动应用程序创建一个菜单,它将我的
#content
-DIV的内容从.HTML文件转换为新内容

我正在使用以下代码:

$(document).ready(function(){
    $('#menu li').click(function(){
        $('#content').load(this.id + '.html #content *');               
    });
});
除一个HTML文件外,此操作有效:

<div id="content">  
    <div id="map"></div> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    <script src="assets/default.js" type="text/javascript"></script> 
    <script src="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.js" type="text/javascript"></script>              
    <script src="assets/map.js" type="text/javascript"></script> 
</div> 

我试图加载由传单API生成的映射,但每个浏览器只解析空的DIV容器(
#map

我认为问题可能是在构建DOM之后没有触发我的
map.js
。 试图用
$(document.ready()
修复此问题,但不幸的是,它不起作用

有什么建议吗


太好了,干杯

从load jquery文档中可以阅读

脚本执行

当使用不带后缀选择器表达式的URL调用.load()时,在删除脚本之前,内容将传递给.html()。这将在脚本块被丢弃之前执行它们。但是,如果使用附加到URL的选择器表达式调用.load(),则会在更新DOM之前剥离脚本,因此不会执行

您正在使用选择器表达式调用load

我会用另一种方式

  • 修改map.js以包含一个函数(即mapInit),该函数用于执行地图内容
  • 将所有这些scrips标记放在通用html文档的头部
  • 通过对map函数的回调调用load

    $(document).ready(function(){
      $('#menu li').click(function(){
        $('#content').load(this.id + '.html #content *',mapInit());               
      });
    });
    

  • 你在那个HTML文件中加载jQuery了吗?没有。现在添加了一个到jQuery和我的其他JS文件的链接,但没有任何更改。您需要在
    map.JS
    之前加载jQuery,是吗?该文件是否有
    ?是的,所有内容都是在
    map.JS
    之前加载的