以下朋友以下是我的代码
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中没有工作,试图用jquery做同样的事情
$(".menu-item li:last-child:after").css('content','"hi"');
你可以查看demo here 但它也没有用,请帮帮我
提前致谢
答案 0 :(得分:6)
:after
和:before
是伪元素,之后无法对其进行操作。所以你不能这样做。
另一种可能的选择器就是这个
$(".menu-item li").last().css('content', 'hi');
解决问题的一个方法是。
使用您需要的CSS创建一个类
.newClass {}
.newClass:after { content: 'hi'; }
现在使用jQuery切换它们。
$(".menu-item li").last().addClass("newClass");
答案 1 :(得分:3)
您不能在jQuery中使用:after
伪选择器,因为该元素实际上不存在于DOM中。它适用于您的示例,因为它在CSS中设置,如果您删除该规则它将不再起作用。 IE的问题在于没有完全支持伪选择器和错误。