如何在HTML中创建条件超链接

How to create conditional hyperlink in HTML

本文关键字:创建 条件 超链接 HTML      更新时间:2023-09-26

我想在有条件的情况下将我的页面与另一个页面链接。

假设我有3个HTML页面,即1.HTML2.HTML.HTML我想要的是,如果加载了1.HTML,则加载页面2.HTML.html,则加载3.html.

请帮忙。

我无法理解您对第1、2和3页的解释,但从一般意义上讲,您可以根据某些条件让超链接转到不同的URL,方法是处理其"onclick"事件以取消默认导航,改为从JavaScript执行:

<a href="defaulturlhere" onclick="doClick(); return false;">My link</a>
<script>
function doClick() {
   if (someCondition || someOtherCondition)
       window.location.href = "firstURLhere";
   else
       window.location.href = "alternativeURLhere";
}
</script>

如果禁用JavaScript,则将使用锚的href属性中指定的URL。否则,会调用doClick()函数来决定导航到哪个URL。当然,该函数可以根据您的需要而简单或复杂。

onclick需要return false;来取消点击锚点的默认行为,因为(显然)默认行为是导航到href属性中的URL。

我不完全确定你想要实现什么。

我认为只有在较早打开其他页面的情况下,您才希望在页面上显示超链接。

如果是这种情况,您可以在第1页的window.load上创建cookie,并检查该cookie是否设置在第2页的windolow.onload事件上。

如果设置了cookie,请在第2页上创建一个动态超链接以重定向到第3页。如果未设置cookie,请不要创建链接。

您还可以根据是否设置cookie来显示/隐藏超链接(而不是动态创建)。如果您不使用jQuery,这是一种简单且跨浏览器的方法。

参考:http://www.w3schools.com/js/js_cookies.asp

它应该是以下内容:如果在页面底部添加脚本,javascript将搜索所有<a>标记,并将其与当前url进行比较。如果有匹配,它会将其样式设置为不可见。

<script>
linkNodes = document.getElementsByTagName("a");
for(i = 0; i < linkNodes.length; i++){
  if(linkNodes[i].getAttribute("href") == document.url){
    linkNodes[i].style.visibility= "hidden";
  }
}
</script>

这样,如果你在1.html中,就会显示2.html和3.html,而不是1.html本身。2.html也会出现同样的情况,它只显示1.html和3.html…等等。