隐藏基于href URL的锚标记

时间:2017-10-23 11:39:23

标签: javascript html anchor

我想知道是否有可能隐藏引用特定网址的锚标签。 我知道可以使用JavaScript基于这样的id隐藏:

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

但是,假设我想基于URL示例隐藏所有锚标记: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吗?

4 个答案:

答案 0 :(得分:3)

您可以使用document.querySelector来选择bu属性值。我没有使用jquery,只使用了javascript。

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

答案 1 :(得分:1)

只需遍历所有锚元素,然后检查他们的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>

答案 2 :(得分:1)

你可以创造条件

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

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

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

答案 3 :(得分:1)

您可以使用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>

Working fiddle link