【问题标题】:How to pass a Javascript var into a href tag?如何将 Javascript var 传递到 href 标签?
【发布时间】:2017-05-20 23:48:39
【问题描述】:

我使用了一个函数来捕获“名称”的查询字符串值 - 即想象一个聚会邀请站点;

https://cometomyparty.com?name=phil

使用的函数是;

<script type="text/javascript">
  function getQuerystring(){
    var q=document.location.toString();
    q=q.split("?");
    q=q[1].split("&");
    var str=""
    for(i=0;i<q.length;i++){
      tmp=q[i].split("=")
      str+=" "+tmp[1]+"<br />"
    }
    document.getElementById("name").innerHTML=str
  }
  onload=function(){
    getQuerystring()
  }
</script>

然后我可以使用 id="name" 来调用 'name' 的值,我想在我的页面上使用它,即在标题中,我可以说,Phil,期待你参加聚会.. .

如何在 html 链接位置中动态附加我的“名称”值 (var str),即

<a href="http://example.com?name=str">Link Text</a>

在上面的例子中会返回;

http://example.com?name=phil

【问题讨论】:

    标签: javascript html href var


    【解决方案1】:

    您可以直接访问&lt;a&gt; 标签的href 属性或使用.setAttribute

    // Using .href:
    document.getElementById("name").href=str;
    
    // Using . setAttribute:
    document.getElementById("name").setAttribute ("href", str);
    

    请注意,您应该在链接的 src 中包含 &lt;br/&gt; 标记。

    【讨论】:

      【解决方案2】:

      试试这个:

      <a href="#" onclick='goToPage(event)'>Link Text</a>
      
      <script>
      
      function goToPage(event) {
          event.preventDefault();
          window.location='http://example.com?name='+str;
      }
      
      </script>
      

      理想情况下,您希望在可以使用的地方使用 jquery:

      $('#link').click(function(event) {
          event.preventDefault();
          var link = $(this).attr('src');
          window.location=link+str
      });
      

      您当然希望从 href 中删除“str”

      【讨论】:

      • 注意:str 目前没有在任何一个 sn-p 中定义。
      • 空的 href 属性也无法通过 W3C 验证。如果你要使用这种方法,至少把 something 放在那里,即使只是一个#
      • 谢谢@Scoots,我错过了。我已经更新了我的答案以表明
      猜你喜欢
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2020-12-28
      • 2012-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多