如何禁用默认的 “href”的行为属性?
我有一个像这样的简单侧边栏:
<div class="sidebar">
<ul class="nav">
<li class="Page1"><a href="Page1.html">Page1</a></li>
<li class="Page2"><a href="Page2.html">Page2</a></li>
<li class="Page3"><a href="Page3.html">Page3</a></li>
</ul>
</div>
此代码存在于每个页面上:page1.html、page2.html、page3.html。
在 Page1.html 上,我希望 Page1 不可点击。
在 Page2.html 上,我希望 Page2 不可点击。
在 Page3.html 上,我希望 Page3 不可点击。
是否可以在没有 Javascript(即纯 HTML 和纯 HTML)的情况下做到这一点? CSS? 如果没有,使用 Javascript、jQuery 最简单的方法是什么?
I have a simple sidebar like this:
<div class="sidebar">
<ul class="nav">
<li class="Page1"><a href="Page1.html">Page1</a></li>
<li class="Page2"><a href="Page2.html">Page2</a></li>
<li class="Page3"><a href="Page3.html">Page3</a></li>
</ul>
</div>
This code exist on each one of the pages: page1.html, page2.html, page3.html.
On Page1.html, I would like Page1 not to be clickable.
On Page2.html, I would like Page2 not to be clickable.
On Page3.html, I would like Page3 not to be clickable.
Is that possible to do that without Javascript, i.e. pure HTML & CSS ?
If not, what would be the easiest method to do that using Javascript, jQuery ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以添加
要禁用的
标记。
You could add
on the
<a>
tag that you want to disable.我实际上建议使用 PHP,因为它可以避免可能的可用性/可访问性问题。
另一个注意事项:无论如何我都不会费心这样做。在我的网站上,我保持所有链接可用 - 标题告诉用户她在哪里,因此禁用链接只会带来麻烦。
不,您需要 JavaScript,但不需要 jQuery。
首先,选择元素:
您需要将
NodeList
转换为Array
。使用此函数:然后...调用
forEach
并检查正确的链接,将其禁用:I'd actually recommend PHP for this, as it avoids possible usability/accessibility problems.
Another note: I wouldn't bother doing this anyway. On my website, I keep all links available - the title tells the user where she is anyway, so disabling links only creates trouble.
No, you need JavaScript, but you don't need jQuery.
Firstly, select the elements:
You need to convert the
NodeList
into anArray
. Use this function:Then... call
forEach
and check for the right link, disabling it:如果您想纯粹使用 HTML 和 CSS,则必须为每个页面生成自定义侧边栏。
但是,如果您不介意使用 PHP,那应该不是什么大问题。
If you want to do it purely with HTML and CSS, you have to generate a customized sidebar for each page.
However, if you dont mind using PHP, that shouldnt be much of a problem.
最好的方法是在服务器端。在伪代码中,看起来像这样
The best way to do it would be on the server side. In pseudocode that would look something like this