繁体   English   中英

根据href URL隐藏锚标记

[英]Hide Anchor tag based on href URL

我想知道是否有可能隐藏指向特定URL的锚标记。 我知道可以使用JavaScript像这样隐藏id:

 document.getElementById('someID').style.display = 'none'; 
 <a href="#" id="someID" style="display: none">Check</a> 

但是,假设我要根据网址示例隐藏所有锚定标记:www.example.com

<a href="www.example.com" id="someID" style="display: none">Check</a>
<a href="www.example2.com" id="someID" style="display: none">Check</a>

我想隐藏第一个锚标签,而不是第二个引用example2.com的标签

纯JavaScript而不是jQuery是否可行?

您可以使用document.querySelector这样选择bu属性值。我没有使用jquery,仅使用了JavaScript。

 document.querySelector("[href='www.example.com']").style.display = 'none'; 
 <a href="www.example.com" id="someID" style="display:block">Check</a> <a href="www.example2.com" id="someID" style="display:block">Check</a> 

只需遍历所有锚元素,然后检查其href

 var anchors = document.getElementsByTagName('a'); for (var i = 0; i < anchors.length; i++) { if (anchors[i].href == 'https://example.com/') { anchors[i].style.display = 'none'; } } 
 <a href="https://example.com/" id="someID">Check</a> <a href="https://example2.com/" id="someID">Check</a> 

你可以创造条件

var url = document.getElementsByTagName('a');

if (url.href = "www.example.com")
{
url.style.display = none;
}

这不是确切的代码。 我提供了示例。请尝试一下,让我知道。 这是单身。 如果你有很多标签,那么循环所有这些

您可以使用javascript来完成这项工作。 使用querySelector获取具有相同id所有元素。 然后循环ids并比较href链接值。

<script>
var elements = document.querySelectorAll("[id='someID']");
for(var i = 0; i < elements.length; i++) {
  if (elements[i].getAttribute("href") === "www.example.com") {
    elements[i].style.display='none';
  }
}
</script>

工作小提琴链接

暂无
暂无

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

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