【问题标题】:JQuery .click for links using this keywordJQuery .click 使用此关键字的链接
【发布时间】:2011-05-20 06:04:15
【问题描述】:

正如您从标题中得知的那样,我正在使用 JQuery 的 .click 函数来处理有人单击我导航栏中的链接。

当点击链接时,JQuery 将不同 html 文件的特定部分加载到主页的内容 div 中。我提出的代码可以满足我的要求,但我是 JQuery 的新手,我想知道如何做到这一点,而不必创建一个变量来保存所有内容。

$(document).ready(function(){
    $('#content').load('bio.html .content'); // fill #content when page loads

    $('#heading a').click(function(){ 
        var x = $(this).attr('href') + " .content"; 
        $('#content').load(x);
        return false; 
    });
});

我试图弄清楚如何做类似 $('#content').load($(this.attr('href')) .content); 的事情。但是,我无法让它正常工作,所以我最终创建了您在上面看到的变量,这很好,但我想保持简洁。

任何帮助或建议将不胜感激。

【问题讨论】:

    标签: jquery click


    【解决方案1】:

    是……

    $('#content').load( $(this).attr('href') + " .content" );
    

    ...你想做什么?

    【讨论】:

    • 这正是我想要做的。最初我确实将它作为 $(this).,但由于某种原因我改变了它。但是,我从来没有 + 在那里,因为我认为我不能在那里使用它......应该尝试一下!谢谢
    【解决方案2】:

    您需要将字符串与 jQuery 方法的返回值连接起来。

    $('#content').load($(this).attr('href') + " .content");
    

    【讨论】:

      【解决方案3】:

      解决方案很好。

      可以这样简化:

      $('#content').load($(this).attr('href') + " .content");
      

      但是...这并不意味着您应该这样做。您可以在一行代码中编写一些非常复杂的内容,但如果之后不可读,您只是在制造未来的问题。

      我不会有任何问题让它像你一样。

      【讨论】:

      • 感谢您的洞察力...对于这个项目,我想我会改变它,因为它将是一个非常简单的项目。不过,以后我会牢记你所说的。
      猜你喜欢
      • 1970-01-01
      • 2014-12-12
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      相关资源
      最近更新 更多