【问题标题】:Assign a combined string to href tag in HTML将组合字符串分配给 HTML 中的 href 标记
【发布时间】:2018-10-25 14:00:30
【问题描述】:

我在表格中有一些行,我想通过在 HTML 中使用 href 标记将每一行设置为链接。我的链接结构是这样的:

http://www.itsecdb.com/oval/oval-definition-details.php?ovaldefinitionid=oval%3Aorg.mitre.oval%3Adef%3A9278&s=1

我想将“org.mitre.oval”和“9278”部分设置为变量,以便可以根据每行的值更改它们。像这样:

 X and Y are variables
 <a href = "http://www.itsecdb.com/oval/oval-definition-details.php?ovaldefinitionid=oval%3A" + X +"%3Adef%3A" + Y + "&s=1" >row</a>

但是 href 标签不支持这种连接。
知道如何分离这些部分并将我的价值观放入其中吗?
提前致谢。

【问题讨论】:

    标签: javascript html href


    【解决方案1】:

    下面的demo是多链接的解决方案。

    演示

    var xArray = ['2813224', '8472040'];
    var yArray = ['zer00ne', 'afsane'];
    var lnx = document.links;
    
    for (let i = 0; i < lnx.length; i++) {
      var X = xArray[i];
      var Y = yArray[i];
      var base = `https://stackoverflow.com/users/${X}/${Y}?tab=profile`;
      lnx[i].href = base;
      lnx[i].textContent = Y;
    }
    <a href=''></a><br>
    <a href=''></a>

    【讨论】:

    • 感谢您的回答,但我不需要 for,所以我只为一个 X 和一个 Y 编写了它,但作为另一个答案,当我单击它重新加载当前页面的链接时。 @zer00ne
    • 如果您希望链接跳转到新页面,请将target="_blank" 添加到每个&lt;a&gt;
    • 是的,我这样做了,但是在新的点击中它再次显示了我的页面。 (就像你只写 row
    • 右击&lt;a>` 看看它在href 中是否有一个实际的url。 href='http://example.com'
    • 你的意思是我应该验证 URL?是的,它是有效的。
    【解决方案2】:

    尝试在javascript中添加href:

    var X=1;
    var Y=2;
    var a = document.getElementById('mylink'); 
    a.href = "http://www.itsecdb.com/oval/oval-definition-details.php?ovaldefinitionid=oval%3A" + X +"%3Adef%3A" + Y + "&s=1";
     &lt;a href = "" id="mylink" target="_blank"&gt;row&lt;/a&gt;

    【讨论】:

    • 感谢您的回答,但是当我单击链接时,它再次显示我的页面而不是“a.href”。
    • 我试过了,它适用于我在你的代码中尝试它可能是他们阻止链接到 http 或其他网站
    • 我删除了 href = "" 并且它可以工作,但是我在 foreach 中编写了它,它只适用于第一次迭代,对于其他人它不识别 javascript 变量,你知道为什么吗? @SafaaAbdElHamid
    【解决方案3】:

    您可以使用模板文字 `` 并使用 ${varaiable}template literal

    替换

     &lt;a href=`http://www.itsecdb.com/oval/oval-definition-details.php?ovaldefinitionid=oval%3A${X}%3Adef%3A${Y}&amp;s=1` id="mylink"&gt;row&lt;/a&gt;

    【讨论】:

    • 谢谢,但是我应该在哪里定义 X 和 Y 变量?
    猜你喜欢
    • 2015-05-23
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 2022-11-16
    相关资源
    最近更新 更多