繁体   English   中英

动态更改<A>标记中的</a> HREF属性

[英]Dynamicaly changing HREF attribute in <A> tag

我正在网站上工作。 该代码应该具有很高的可移植性,并且可以在不同的平台上运行。 我需要在<a>标记中动态更改HREF属性。
我的代码如下所示:

 function getValue(element) { var theValue = prompt('Please enter the value for the link: ' + element.getAttribute('HREF'), '0'); if (theValue == null) { return false; } var newLink = element.getAttribute('HREF') + ' ' + theValue; element.setAttribute('HREF', newLink); // test what I set: prompt(newLink); return true; } 
 <A HREF="https://www.w3schools.com" ONCLICK="return getValue(this)">click here</A> 

如果访问者单击我网站上的“单击我”链接,将显示一个提示窗口。 如果用户输入希望的值,则将打开带有URL的网站: https://www.w3schools.com theValue必须打开“值”。

现在,什么都没有发生。 非常感谢!

我需要澄清几个想法。 这个例子非常简化。 我的网站正在从引擎导出链接以供内部使用。 伪造链接没有安全性问题。 该网站由1.000个链接组成,网址为www.w3schools.com。 无法为<a>标签添加一些静态ID。 无法创建某些表格。 对于具有匹配的编辑框和要发布的按钮的链接,这不是一个好的解决方案。

最好的解决方案可能是单击链接,在提示窗口中输入值,然后如上所述重定向URL。 感谢吉尔的审查。 现在,我看到该代码可在IE中运行,但无法在Mozilla浏览器中运行。

如果您只想重定向到新的URL,则无需更改元素的href,只需调用window.open(newLink) ,它将打开带有指定链接的新选项卡。 如果要在同一页面上重定向,请使用window.location.href = newLink

请注意,您使用var newLink = element.getAttribute('HREF') + ' ' + theValue;创建了无效的URL var newLink = element.getAttribute('HREF') + ' ' + theValue; 您要在参数中添加一个空格,则需要一个/

 function getValue(element) { var theValue = prompt('Please enter the value for the link: ' + element.getAttribute('href'), '0'); if (theValue == null) { return false; } var newLink = element.getAttribute('href') + '/' + theValue; window.open(newLink); return true; } 
 <a href="https://www.w3schools.com" onclick="return getValue(this)">click here</a> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM