我想禁用一个href标签,当它的链接是#时,我想这样做的原因是因为我在我的网页上有很多帖子,这些帖子有链接到其他网站作为我的合作伙伴。 当我发帖时,我有一个模板,让我更容易在其上放置信息并准备好href链接,如果任何与该帖子有关的网站想要合作伙伴关系并将其链接到他们。 我的一些旧帖子上有带#值的href标签,当我点击它们时,他们在另一个标签上打开我的页面,这就是为什么我想用javascript(任何其他可以完成这项工作的脚本语言)禁用它也很好)
由于
答案 0 :(得分:2)
最简单的方法是:
var emptyAnchors = document.querySelectorAll('a[href="#"]');
for (var i = 0; i < emptyAnchors.length; i++) {
emptyAnchors[i].addEventListener('click', preventDefaultEvent);
}
function preventDefaultEvent(e) {
e.preventDefault();
}
这将阻止链接点击时的默认行为(打开href目标)。
答案 1 :(得分:0)
您可以选择具有特定#href
的标签ES6语法
const elements = document.getElementsByTagName("a[href='#']");
ES5语法
var elements = document.getElementsByTagName("a[href='#']");
然后在每个元素的事件上添加一个preventDefault(),以确保不会执行默认行为。
ES6语法
elements.addEventListener('click', e => {
e.preventDefault();
});
ES5语法
elements.addEventListener('click', function(e){
e.preventDefault();
});
如果您愿意,可以添加css以使标签失去其默认样式
a[href="#"] {
color: black;
pointer-events: none;
text-decoration: none;
}