简单jqueryajax问题

简单jqueryajax问题,ajax,jquery,Ajax,Jquery,我有一份这样的菜单,但加价不必一直这样 <div id="menu"> <ul> <li><a href="#item1">Item 1</a></li> <ul> <li><a href="#subitem1">Subitem 1</a></li> </ul> <li><a href="#item2">

我有一份这样的菜单,但加价不必一直这样

<div id="menu">
 <ul>
  <li><a href="#item1">Item 1</a></li>
   <ul>
   <li><a href="#subitem1">Subitem 1</a></li>
   </ul>
  <li><a href="#item2">Item 2</a></li>
 </ul>
</div>

现在,如何传递要加载到#content中的内容页?提前谢谢

您可以通过多种方式实现这一点。基本上,您需要将URL与每个
  • 项相关联


    举几个例子,您可以将它们存储在jQuery缓存中的JavaScript数组中,即
    $(选择器).data
    ,存储在每个
  • 元素内的隐藏输入中,作为
  • 元素上的一个属性

    您可以通过多种方式实现这一点。基本上,您需要将URL与每个
  • 项相关联

    举几个例子,您可以将它们存储在jQuery缓存中的JavaScript数组中,即
    $(选择器).data
    ,存储在每个
  • 元素内的隐藏输入中,作为
  • 元素上的一个属性

    我会用类似的方法来处理这个问题。它可能会降解得更好

    如果需要手动执行此操作,最简单的方法可能是向锚添加ID或rel属性,然后使用该属性确定要加载的内容页

    您可以在函数中使用“$(this).attr('blah');”来访问这些属性。

    我会使用类似的方法来处理这个问题。它可能会降解得更好

    如果需要手动执行此操作,最简单的方法可能是向锚添加ID或rel属性,然后使用该属性确定要加载的内容页


    您可以在函数中使用“$(this).attr('blah');”来访问这些属性。

    在渐进增强领域中,您应该使链接指向另一个包含各自内容的页面

    然后,不仅可以将页面的全部内容加载到contentdiv中,还可以加载指定的元素。因此,如果是这样,则需要另一页中的#content div的内容,如:

    $('#menu a').click(function(){
        $('#content').load($(this).attr('href') + ' #content');
    });
    

    应该做到这一点。

    在渐进式增强领域中,你应该让链接指向另一个包含各自内容的页面

    然后,不仅可以将页面的全部内容加载到contentdiv中,还可以加载指定的元素。因此,如果是这样,则需要另一页中的#content div的内容,如:

    $('#menu a').click(function(){
        $('#content').load($(this).attr('href') + ' #content');
    });
    

    应该做到这一点。

    使用事件的preventDefault()方法阻止点击进入页面,使用链接的href,该链接实际进入加载到#content div中的页面

    $(document).ready(function() {
        $('#menu a').click(function(e){
            $('#content').load($(this).attr('href'));
            e.preventDefault();
        });
    });
    
    
    <div id="menu">
     <ul>
      <li><a href="page1.html">Item 1</a></li>
       <ul>
       <li><a href="subpage1.html">Subitem 1</a></li>
       </ul>
      <li><a href="page2.html">Item 2</a></li>
     </ul>
    </div>
    
    $(文档).ready(函数(){
    $(“#菜单a”)。单击(功能(e){
    $('#content').load($(this.attr('href'));
    e、 预防默认值();
    });
    });
    

    使用事件的preventDefault()方法阻止点击进入页面,请使用链接的href,该链接实际进入加载到#content div中的页面

    $(document).ready(function() {
        $('#menu a').click(function(e){
            $('#content').load($(this).attr('href'));
            e.preventDefault();
        });
    });
    
    
    <div id="menu">
     <ul>
      <li><a href="page1.html">Item 1</a></li>
       <ul>
       <li><a href="subpage1.html">Subitem 1</a></li>
       </ul>
      <li><a href="page2.html">Item 2</a></li>
     </ul>
    </div>
    
    $(文档).ready(函数(){
    $(“#菜单a”)。单击(功能(e){
    $('#content').load($(this.attr('href'));
    e、 预防默认值();
    });
    });
    


    joelpittets解决方案的唯一问题是,它会加载另一个页面的全部内容,而这可能不是所需的内容。但他确实记得取消了点击链接的默认行为

    joelpittets解决方案的唯一问题是,它会加载另一页的全部内容,而这可能不是所需的内容。但他确实记得取消了点击链接的默认行为

    使用JavaScript重新创建框架。搜索引擎不可见性的所有缺点。这是一个很好的观点,但这不适用于关键应用程序,只是尝试熟悉jQuery中的AJAX。使用JavaScript重新创建框架。搜索引擎不可见的所有缺点。这是一个很好的观点,但这并不适用于一个关键的应用程序,只是尝试熟悉jQuery中的AJAX。你知道标签的内容对搜索引擎来说是否也是不可见的吗?你可以在点击标签时(如果没有启用js)这样做它将再次加载整个页面,并选中所选的选项卡。这也允许搜索引擎抓取选项卡。您知道选项卡的内容对搜索引擎是否也是不可见的吗?您可以在单击选项卡时(如果未启用js)再次加载整个页面,并选中所选的选项卡。这也允许搜索引擎抓取选项卡。为什么它比使用rel的方法更好?我喜欢它,因为它的代码更少,但还有其他原因使它更好吗?从语义上讲,它更好,搜索引擎抓取程序遵循链接中的href属性。此外,当用户禁用javascript时,他们将直接指向该页面,而不是使用AJAX’d。啊,我没有想到这一点。因此这很好地解决了可见性问题。结合ToonMariner的建议,应该可以使页面完全降级。为什么它比使用rel的方法更好?我喜欢它,因为它的代码更少,但还有其他原因使它更好吗?从语义上说,它更好,搜索引擎爬虫遵循链接中的href属性。此外,当用户禁用javascript时,他们将直接指向该页面,而不是使用AJAX’d。啊,我没有想到这一点。因此,这很好地解决了可见性问题。结合ToonMariner的建议,应该可以使您的页面完全退化。是的,结合您的答案,它在许多其他情况下都非常有效,但出于我的目的,我只是加载随机文本文件。是的,结合您的答案,它在许多其他场景中都非常有效,但出于我的目的,我只是加载随机文本文件。