2013-02-14 43 views
-1

我试图查看这个问题,但无处不在我发现这个问题,HTML代码是如此不同,并不适用于我的问题。如何使用CSS/jQuery删除面包屑的末端

我们用的是现成的电子商务平台,呈现出来的面包屑在下面的事情:

[jsfiddle][http://jsfiddle.net/FVHjG/1/] 

我还需要在这摆脱过去RAQUO的存在(“Suljetut”后)

我设法隐藏起始元素和最后一个碎块(实际链接到同一页面的链接,这是愚蠢的)。剩下的是当然的实际类别和“家”。在这种情况下,我必须删除最后一个raquo(last-child),而不是第四个(第n个孩子)。因此,每次都会删除正确的raquo,因为有时一个产品只有两个类别,有时甚至是五个类别深入,等等。

有人能指导我在正确的方向吗?如果CSS可能会很好,并且我试图考虑jQuery作为最后一个选项,如果CSS不可行的话。

PS。我无法改变HTML代码如何以任何方式呈现出来,所以没有额外的类/ ID可以插入(当然我也可以使用jQuery)。

+1

由于标记,无法动态地将该元素与CSS选择器匹配。你为什么不能改变结构(你应该认真考虑这样做)。 – BenM 2013-02-14 12:26:51

+1

请将您代码的相关部分添加到问题中。不要只链接到JSFiddle。如果这段代码消失,这个问题将不再可以理解。 – Spontifixus 2013-02-14 12:28:21

+0

与代码,如jQuery它是微不足道的:'$('。BreadcrumbSeparator:last')。css('display','none');' – 2013-02-14 12:49:48

回答

0

哇,那个列表很疯狂。有没有必要到列表中有这么多的名单:

<ul> 
    <li> 
     <a href="#">Link 1</a> 
     <span class="Breadcrumb">x</span> 
    </li> 
    <li> 
     <a href="#">Link 2</a> 
     <span class="Breadcrumb">x</span> 
    </li> 
    <li> 
     <a href="#">Link 3</a> 
     <span class="Breadcrumb">x</span> 
    </li> 
    <li> 
     <a href="#">Link 4</a> 
     <span class="Breadcrumb">x</span> 
    </li> 
</ul> 

这就是你怎么会那么删除最后一个面包屑:

ul li:last-child .Breadcrumb { display:none; } 

JSFiddle example

如果在你的例子有永远只能将是4个链接(无多,不会少),你可以这样做:

ul > li > ul > li > ul > li > ul > li .BreadcrumbSeparator { display:none; } 

但是,这是很难理想。否则,使用jQuery,您必须循环才能拉取最深的面包屑并将其移除(请参阅select deepest child in jQuery)。

+0

请注意警告:“PS。我无法改变HTML代码以任何方式呈现出来。” – BenM 2013-02-14 12:27:19

+1

如果他无法更改HTML,那么他应该找到能够因为该列表真的很糟糕的人。 – 2013-02-14 12:30:51

+0

编辑:错误的问题jsfiddle,继续。 – MildWolfie 2013-02-14 12:31:12

0

这在css中是不可能的。您可以在SASS或LESS中使用基本的数学运算,否则javascript是唯一的选项