2

こんにちは、私のコードは次のとおりです

HTML

<ul class="menu-item">
    <li>item</li>
    <li>item</li>
    <li>item</li>
</ul>

CSS

.clear-right{
color:red;
}
.menu-item:last-child{
    color:red;}
.menu-item:last-child:after
    {
content:'hi';
}

私のコードはすべてのブラウザーで完全に機能しますが、IE では機能しません m jquery を使用して同じことをしようとしています

$(".menu-item li:last-child:after").css('content','"hi"');

ここでデモを確認できます が、機能していません助けてください

前もって感謝します

4

2 に答える 2

6

:afterおよび:beforeは疑似要素であり、後で操作することはできません。だから、あなたはこれを行うことはできません.

別の可能なセレクターはこれです

$(".menu-item li").last().css('content', 'hi');

それを解決するための1つのトリックはです。

必要な CSS でクラスを作成する

.newClass {}
.newClass:after { content: 'hi'; }

jQueryを使用してそれらを切り替えます。

$(".menu-item li").last().addClass("newClass");
于 2012-04-24T04:38:57.257 に答える
3

:after要素は実際にはDOMに存在しないため、jQueryで疑似セレクターを使用することはできません。CSSで設定されているため、この例では機能します。そのルールを削除すると、機能しなくなります。IE の問題は、疑似セレクターが完全にサポートされておらず、バグがあることです。

于 2012-04-24T04:36:04.820 に答える