javascript或者jquery对应的方法中有没有可以修改css伪元素:before,:after样式的?

需要修改,getComputedStyle只能获取不能修改,有没有什么办法修改某个标签的:before的样式?.info:before{content:"infomati... 需要修改,getComputedStyle只能获取不能修改,有没有什么办法修改某个标签的:before的样式?
.info:before{
content:"infomation";
border:1px solid #ccc;
}
需要用js将上面的border改成2px solid #000;怎么做?
展开
 我来答
ouwanqu
推荐于2017-11-25 · 超过19用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:49.5万
展开全部
貌似么有啊……javascript修改css其实就是写到元素的style属性上,:before,:after伪类是虚拟元素……怎么改啊……要是非得要修改的话,建议切换.info的class试试,设计两个有:before的class,需要修改是切换有class的那个元素 ,比如
.info:before{
content:"infomation";
border:1px solid #ccc;
}
.info_other:before{
content:"infomation";
border:2px solid #000;
},
然后需要修改的时候把.info改成.info_other
更多追问追答
追问
你这个思路不错,谢谢了,可以实现。
追答
刚才又测试了一下,利用css优先级的规则可以少定义一个class,比如这样:
.info{
border:1px solid #000;
padding:5px;
}
.info:before{
content:"infomation";
border:1px solid #ccc;
}
.info.other:before{
border:2px solid #000;
}
然后你在写
content和content时就能看到:before有两个不同的样式
百度网友5c2488a
2012-10-29 · TA获得超过172个赞
知道小有建树答主
回答量:367
采纳率:100%
帮助的人:330万
展开全部
$("#标签ID").addClass(".info:before");

用这个试试

先移除再从新添加
追问
思路对的,和楼下一样,谢谢,鉴于楼下写的比较详细,分给他了哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mszhang1989
2012-10-29 · TA获得超过119个赞
知道答主
回答量:181
采纳率:0%
帮助的人:32万
展开全部
$('.info:before').css("border","2px solid #000");
追问
这个不行的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友991c105d1
2012-10-29 · 超过13用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:29.7万
展开全部
你己经写好的样式,为什么非要用js动态修改呢?
其它地方引用这个样式的代码怎么办?

如果我来设计程序的话,我会:
静态资源 写好的就是通用的,不需要改的,如果有个别地方需要改,我会用jquery的css方法覆盖其css样式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式