2013-02-14 2 views
-1

Я попытался это посмотреть, но везде, где я нахожу этот вопрос, html-код настолько отличается и не применим к моей проблеме.Как удалить конец сухаря с CSS/jQuery

Мы используем готовую платформу для электронной коммерции, что делает из сухари в следующем вопросе:

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

мне еще нужно, чтобы избавиться от последнего RAQUO там (после «Suljetut» в этом case.)

Мне удалось скрыть начальный элемент и последнюю крошку (ссылку, которая на самом деле ссылается на ту же страницу, что глупо). Остальные - это, конечно, фактические категории и «Дом». В этом случае я должен удалить последнее raquo (last-child), а не четвертое (nth-child). Так что правое raquo удаляется каждый раз, потому что иногда продукт имеет только 2 категории глубины, а иногда и 5 категорий в глубину и так далее.

Может ли кто-нибудь помочь мне в правильном направлении? Если это возможно с CSS, это будет здорово, и я пытаюсь рассмотреть jQuery последний вариант, если это невозможно с помощью CSS.

PS. Я не могу изменить способ HTML-кода в любом случае, поэтому никакие дополнительные классы/идентификаторы не могут быть вставлены (хорошо с jQuery я могу, конечно).

+1

Невозможно динамически сопоставить этот элемент с селекторами CSS из-за разметки. Почему вы не можете изменить структуру (и вам следует серьезно подумать об этом). – BenM

+1

Пожалуйста, добавьте соответствующие части вашего кода на вопрос. Не просто ссылку на JSFiddle. Если этот код исчезнет, ​​вопрос уже не будет понятен. – Spontifixus

+0

с кодом, таким как jQuery, тривиально: '$ ('.BreadcrumbSeparator: last'). Css ('display', 'none');' –

ответ

0

Woah, этот список сумасшедший. Там нет необходимости иметь так много списков в списках:

<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

+1

Если он не может изменить HTML, тогда он должен найти кого-то, кто может, потому что этот список действительно плохо в противном случае. –

+0

Редактировать: Пропустить вопросы jsfiddle, продолжить. – MildWolfie

0

Это невозможно в css. Вы можете использовать базовую математику в SASS или LESS, в противном случае javascript является единственным вариантом, как упомянуто

Смежные вопросы