我想知道是否有可能隐藏引用特定网址的锚标签。 我知道可以使用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吗?
答案 0 :(得分:3)
您可以使用document.querySelector
来选择bu属性值。我没有使用jquery,只使用了javascript。
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;
答案 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>