【问题标题】:Make a link using jQuery使用 jQuery 创建链接
【发布时间】:2018-09-19 11:14:57
【问题描述】:

我有这段代码,我正在解析一个 URL 以将路径传递给另一个 URL,两者都在同一个域中。我已成功解析它并创建了一个新 URL,但现在我无法将其转换为链接。这就是我所拥有的:

$(document).ready(function() {
  var URL = 'https://www.site-name.com/f1'; // MAIN URL

  var otherURL = 'https://www.site-name.com/Manual/module_1_4_2.htm'; // Other URL

  //Create a new link with the url as its href:
  var a = $('<a>', {
    href: otherURL
  });
  var sResult = '<b>Protocol:</b> ' + a.prop('protocol') + '<br/>' + '<b>Host name: </b>' + a.prop('hostname') + '<br/>' + '<b>Path: </b>' + a.prop('pathname') + '<br/>'

  var path = a.prop('pathname'); // pass the path to the MAIN URL 
  var newURL = URL + "?page=" + path.substring(path.lastIndexOf('/') + 1);

  // display new URL 
  $('span').html(sResult + "<br><b>New URL: </b>" + newURL);

  // Correctly displays New URL:https://www.site-name.com/f1? page=module_1_4_2.htm

  // How do I turn it into a link ?

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span></span>

【问题讨论】:

  • @Yi Zhou 类似这样的$('#container').html('&lt;a href="'+newURL+'"&gt;TEST LINK&lt;/a&gt;');

标签: jquery url hyperlink


【解决方案1】:

新建一个''元素,设置链接的url和文本,然后在NEW URL:后面直接追加

$(document).ready(function() {
  var URL = 'https://www.site-name.com/f1'; // MAIN URL

  var otherURL = 'https://www.site-name.com/Manual/module_1_4_2.htm'; // Other URL

  //Create a new link with the url as its href:
  var a = $('<a>', {
    href: otherURL
  });
  var sResult = '<b>Protocol:</b> ' + a.prop('protocol') + '<br/>' + '<b>Host name: </b>' + a.prop('hostname') + '<br/>' + '<b>Path: </b>' + a.prop('pathname') + '<br/>'

  var path = a.prop('pathname'); // pass the path to the MAIN URL 
  var newURL = URL + "?page=" + path.substring(path.lastIndexOf('/') + 1);

  // display new URL
  var newLink = $('<a>',{
    href: newURL,
    text: newURL
  })
  $('span').html(sResult + "<br><b>New URL: </b>").append(newLink);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span></span>

【讨论】:

    【解决方案2】:

    与您创建 a 的方式相同。

    $(document).ready(function() {
      var URL = 'https://www.site-name.com/f1'; // MAIN URL
    
      var otherURL = 'https://www.site-name.com/Manual/module_1_4_2.htm'; // Other URL
    
      //Create a new link with the url as its href:
      var a = $('<a>', {
        href: otherURL
      });
      var sResult = '<b>Protocol:</b> ' + a.prop('protocol') + '<br/>' + '<b>Host name: </b>' + a.prop('hostname') + '<br/>' + '<b>Path: </b>' + a.prop('pathname') + '<br/>'
    
      var path = a.prop('pathname'); // pass the path to the MAIN URL 
      var newURL = URL + "?page=" + path.substring(path.lastIndexOf('/') + 1);
    
      // display new URL 
      $('span').html(sResult + "<br><b>New URL: </b>" + newURL);
    
      // Correctly displays New URL:https://www.site-name.com/f1? page=module_1_4_2.htm
    
      // How do I turn it into a link ?
    
      var new_a = $('<a>', {
        href: newURL,
        text: 'Click here for new URL'
      });
      $('div').append(new_a);
    
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <span></span>
    <div></div>

    【讨论】:

    • 如果我在主 URL 页面 https://www.site-name.com/f1 中有一个 iframe,我该如何将路径传递给 iframe。这是我的 iframe &lt;iframe style="overflow: hidden;" name="myiframe"id="load" src="https://www.site-name.com/Manual/application.htm"&gt;&lt;/iframe&gt;
    • 你的意思是你想把它用作 iframe 的src 吗? $("#load").attr("src", newURL);
    • 是的,我希望 iframe 始终具有 /application.htm 但如果存在路径,则像我在我发布的代码中所做的那样传递路径,以使我们刚刚创建的链接加载到iframe,因此我也需要将路径传递给 iframe。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2011-05-14
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    相关资源
    最近更新 更多