2012-04-24 10 views
2

こんにちは友人は、私のコード最後の子()と次のIE 8で動作していない後

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"'); 

あなたがdemo here を確認することができますが、そのまた要素が実際に存在しないので、あなたは、jQueryので:after擬似セレクタを使用することはできません私に事前

+0

jqueryを使用して別のliを追加してみませんか?または、コンテンツ期間を追加するだけです。 http://api.jquery.com/append/ – kinakuta

答えて

6

:afterおよび:beforeは、後で操作することができない疑似要素です。そうすることはできません。

代替可能なセレクタは、それを解決するために、この

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

1つのトリックであるであろう。

はあなたに必要なCSS

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

今jQueryのは、それらを切り替えて使用してクラスを作成します。

$(".menu-item li").last().addClass("newClass"); 
+0

私は@Straxを知っています。これを行う他の方法 – Kamal

+0

@Kamal、私の更新を参照してください – Starx

+0

助けてくれてありがとう@星座.. :) – Kamal

3

感謝を助けてください動作しませんDOM。これはCSSで設定されているため、あなたの例では機能します。ルールを削除すると、それはもはや動作しません。 IEの問題は、擬似セレクタが完全にサポートされておらず、バグであることです。

+0

はい私は知っています。私は ':aftter'をjquery bczで使っています。私は何をしたいかを示したいと思っています。 – Kamal

+0

ええ、でもあなたはしたくないです。 jQueryでは擬似要素を選択できません。なぜなら、要素ではなくDOMにないからです。 – elclanrs

+0

あなたの助けてくれてありがとう@elclanrs。 – Kamal

関連する問題