last-child()和:在IE 8中不工作之后

Kam*_*mal 2 css jquery

你好朋友关注的是我的代码

HTML

<ul class="menu-item">
    <li>item</li>
    <li>item</li>
    <li>item</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

CSS

.clear-right{
color:red;
}
.menu-item:last-child{
    color:red;}
.menu-item:last-child:after
    {
content:'hi';
}
Run Code Online (Sandbox Code Playgroud)

我的代码在所有浏览器中完美运行,但在IE中没有工作,试图用jquery做同样的事情

$(".menu-item li:last-child:after").css('content','"hi"');
Run Code Online (Sandbox Code Playgroud)

你可以在这里查看演示, 但它也不起作用请帮助我

提前致谢

Sta*_*arx 6

:after并且:before是伪元素,之后无法操纵.所以你不能这样做.

另一种可能的选择器就是这样

$(".menu-item li").last().css('content', 'hi');
Run Code Online (Sandbox Code Playgroud)

解决它的一个诀窍是.

使用您需要的CSS创建一个类

.newClass {}
.newClass:after { content: 'hi'; }
Run Code Online (Sandbox Code Playgroud)

现在使用jQuery切换它们.

$(".menu-item li").last().addClass("newClass");
Run Code Online (Sandbox Code Playgroud)