使用jquery禁用上一个元素的链接

时间:2011-11-19 16:56:20

标签: javascript jquery breadcrumbs

现在我有一个站点地图,例如:Home>关于我们>我们是谁。我可以使用jQuery禁用关于我们离开主页仍然有效的链接吗?此外,如果站点地图增加到此级别Home>服务>咨询>业务>训练。是否可以使用jQuery来禁用业务,咨询和服务链接,但仍然可以激活“主页”链接。

提前致谢

3 个答案:

答案 0 :(得分:1)

http://jsfiddle.net/HTGBE/2/

<a href="http://jquery.com">Link</a> > 
<a href="http://jquery.com">Link</a> >
<a href="http://jquery.com">Link</a> >
<a href="http://jquery.com">Link</a> >
<a href="http://jquery.com">Link</a> >
<a href="http://jquery.com">Link</a> >
<a href="http://jquery.com">Link</a> 

和JS:

$('a:not(:first):not(:last)').click(function(e) {
    e.preventDefault();
});

答案 1 :(得分:0)

我认为需要更多信息才能准确地为您提供所需信息 - 例如,您是否尝试保持第一个链接处于活动状态?或者在文本中第一个带有“Home”的链接?

无论如何,这样的事情听起来就像你所追求的那样:

// Disable all links except first
$("#sitemap a:gt(0)").removeAttr("href")

// Disable all links except those containing the word 'Home'
$("#sitemap a:not(:contains('Home'))").removeAttr("href");

答案 2 :(得分:0)

如果没有看到您的实际HTML,很难确切地说,但它应该很容易实现。假设您的HTML看起来像:

<div id="sitemap">
    <a href="/home">Home</a> &gt;
    <a href="/home/about">About Us</a> &gt;
    <a href="/home/about/who">Who We Are</a>
</div>

您要做的是更改除第一个之外的所有锚点以及具有相同内容的跨度。每次页面加载到文档就绪处理程序时运行此命令。请注意,您可能需要根据需要添加classes / css以保持正确的样式。

<script type="text/javascript">
   $(function() {
       $('#sitemap a:not(:first)').wrap('<span></span>').unwrap();
   });
</script>