【问题标题】:Appending a link with Jquery使用 Jquery 附加链接
【发布时间】:2012-03-14 07:54:31
【问题描述】:

我正在尝试添加指向我的页面的链接,具体取决于您已经在哪个页面上。我正在使用 Squarespace 来构建这个网站,所以对我来说最简单的方法是使用 Javascript 或 Jquery。

我认为我缺少的这种语法有问题。我已经尝试用 \ 打破引号,但这不起作用。如果我只是输出文本,它可以正常工作,但是当我尝试使其与链接一起工作时,它似乎会中断。

 if(loc == pageOne) {
$("#pages").append("<div> <a href=\"http://design.optimus.com/projects?currentPage=2\">Next Page</a> </div>")
    }else{
  if(loc == pageOneB){
    $("#pages").append("<div> <a href=\"http://design.optimus.com/projects?currentPage=2\">Next Page</a> </div>")
  }else{
    if(loc == pageTwo){
     $("#pages").append("<div> <a href=\"http://design.optimus.com/projects\">Previous Page</a></div> ")
  }
 }
}

编辑:我刚刚检查过,链接似乎在 Chrome 中有效,但在 Firefox 中无效。

另一个编辑:所以该链接也可以在 Safari 中使用。我想现在的问题是为什么不在 Firefox 中? Firefox 不支持这种方法吗?

【问题讨论】:

  • 在追加语句中使用单引号并在文本中保留双引号(不转义)。例如:$('#pages').append('&lt;div&gt; &lt;a href="http://design.optimus.com/projects?currentPage=2"&gt;Next Page&lt;/a&gt; &lt;/div&gt;')

标签: javascript jquery append


【解决方案1】:

试试这个:

switch(loc)
{
case pageOne:
  $("#pages").append('<div> <a href="http://design.optimus.com/projects?currentPage=2">Next Page</a> </div>');
  break;
case pageOneB:
  $("#pages").append('<div> <a href="http://design.optimus.com/projects?currentPage=2">Next Page</a> </div>');
  break;
case pageTwo:
  $("#pages").append('<div> <a href="http://design.optimus.com/projects">Previous Page</a></div>"');
  break;
}

【讨论】:

    【解决方案2】:

    您的代码似乎运行良好,但是您可以使用 else if 语句而不是嵌套的 if 语句:

    if(loc == pageOne) {
        $("#pages").append("<div> <a href=\"http://design.optimus.com/projects?currentPage=2\">Next Page</a> </div>")
    } else if (loc == pageOneB){
        $("#pages").append("<div> <a href=\"http://design.optimus.com/projects?currentPage=2\">Next Page</a> </div>")
    } else if (loc == pageTwo){
        $("#pages").append("<div> <a href=\"http://design.optimus.com/projects\">Previous Page</a></div> ")
    }​
    

    这是一个演示:http://jsfiddle.net/Rba6w/

    【讨论】:

    • 谢谢,我会改的。除了 FIREFOX,我的代码对我来说一切正常吗?我不知道为什么。它显示文本,但不是链接。在其他所有浏览器中,它都链接到下一页。
    • @patricko 那么您的问题可能是您的 loc 值在 Firefox 中与在其他浏览器中不同。就在你的if 语句之前,放一个console.log(loc)(或alert(loc))以查看不同浏览器中的值是什么。您可能希望使用 pageOne/pageOneB/pageTwo 变量来执行此操作(我不确定它们是如何设置的,但看看您实际处理的是什么总是一个好主意)。
    • 现在的loc值是URL,我是通过调用window.location得到的,在firefox中是不是不一样?
    • 当我在 Firefox 和 Chrome 中发出警报时,我得到了相同的 URL。但是,该链接在 Firefox 中仍然无效。我不明白为什么会这样。
    【解决方案3】:

    看看这是否有效

    if(loc == pageOne) {
    $("#pages").append('<div> <a href="http://design.optimus.com/projects?currentPage=2">Next Page</a> </div>')
        }else{
      if(loc == pageOneB){
        $("#pages").append('<div> <a href="http://design.optimus.com/projects?currentPage=2">Next Page</a> </div>')
      }else{
        if(loc == pageTwo){
         $("#pages").append('<div> <a href="http://design.optimus.com/projects">Previous Page</a></div>')
      }
     }
    }
    

    【讨论】:

    • 它不工作。至少在我收到文本之前,这没有显示任何内容。
    猜你喜欢
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多