-1

私はこれを調べようとしましたが、この質問が尋ねられた場所はどこでも、html コードは非常に異なっており、私の問題には当てはまりませんでした。

私たちは既製の電子商取引プラットフォームを使用しています。これは、次の事項でブレッドクラムをレンダリングします。

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

そこにある最後の raquo を取り除く必要があります (この場合は "Suljetut" の後)。

最初の要素と最後のパンくず (実際には同じページにリンクしているリンクですが、これはばかげています) を非表示にすることができました。残っているのは実際のカテゴリともちろん「ホーム」です。この場合、4 番目 (n 番目の子) ではなく、最後の raquo (最後の子) を削除する必要があります。製品が 2 カテゴリの深さだけの場合もあれば、5 カテゴリの深さの場合もあるため、適切な raquo が毎回削除されるようにします。

誰かが私を正しい方向に導いてくれますか? CSS でそれが可能であれば素晴らしいことですが、CSS で不可能な場合は jQuery を最後のオプションと考えています。

PS。HTML コードのレンダリング方法を変更することはできないため、追加のクラス/ID を挿入することはできません (もちろん、jQuery を使用すればできます)。

4

2 に答える 2

0

これはcssでは不可能です。ただし、SASSまたはLESSで基本的な数学を使用できます。それ以外の場合は、前述のようにjavascriptが唯一のオプションです

于 2013-02-14T13:06:26.527 に答える
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 の例

あなたの例で4つのリンクしかない場合(それ以上でもそれ以下でもありません)、これを行うことができます:

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

しかし、それはほとんど理想的ではありません。それ以外の場合は、jQuery を使用して、最も深いパンくずリストを取得して削除するためにループする必要があります ( select deepest child in jQueryを参照)。

于 2013-02-14T12:26:35.500 に答える