3

リンクとサブリンクを含む順序付けられていないリストがあります。'»'リストのサブリンクの前に文字を追加したいのですが。私はおそらくCSSを介してこれを行うことができlist-style-image:urlますが、テキストだけが必要です。これまでのところ、私はあまり成功せずにprependを試しました。

HTML:

<nav>
<ul>
    <li><a href="#">link 1</a></li>
    <li><a href="#">link 2</a></li>
    <ul>
        <li><a href="#">sublink link 1</a></li>
        <li><a href="#">sublink link 2</a></li>
    </ul>
    <li><a href="#">link 3</a></li>
</ul>
</nav>

そして私はこのコードを使用しています:

 $("ul li li").each(function() {
    $(this).closest('li').prepend("»").html();
   });

1つのレベルのリスト項目を削除し、すべてのリスト項目の前に追加すると、機能しますが、Webインスペクターで表示すると、»文字の周囲に引用符が残ります。私はまた、最も近くに現れたものの様々な化身を試しましli aたが、それも違いはありませんでした。構文エラーが発生していないので、何が間違っているのかわかりません。

ここにフィドルがあります。

4

5 に答える 5

4

なぜいくつかのCSSではないのですか?

ul ul li:before {
 content: '»';   
}

JavaScriptを使用してこのようなUIを変更することは、リソースの浪費です。これは、実際のユースケースを知らなくても主観的なものです。

于 2012-09-17T22:01:57.947 に答える
3

セレクターが正しくありません。htmlまた、eachメソッドを使用する必要もありません。

$("ul ul li").prepend("»");
于 2012-09-17T22:02:08.773 に答える
3

に直接あるが、間に別のセレクタul li liがあることを意味する誤ったセレクタがありました。liliul

.eachさらに、jQueryはセレクターに一致する要素のセットへの参照を返すため、そのため にを使用する必要はありません。

$("ul ul li").prepend("»");

デモ

からのCSSソリューションAknosisは非常にクールに見えます。

于 2012-09-17T22:05:09.467 に答える
1

私はこれがあなたが必要としているものだと思います:

 $("ul ul li").prepend("» ");
于 2012-09-17T22:03:35.853 に答える
0

試す:

 $("ul li").each(function() {
    $(this).prepend("»").html();
 });
于 2012-09-17T22:02:15.700 に答える