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;怎么做? 展开
.info:before{
content:"infomation";
border:1px solid #ccc;
}
需要用js将上面的border改成2px solid #000;怎么做? 展开
4个回答
展开全部
貌似么有啊……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
.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有两个不同的样式
展开全部
$("#标签ID").addClass(".info:before");
用这个试试
先移除再从新添加
用这个试试
先移除再从新添加
追问
思路对的,和楼下一样,谢谢,鉴于楼下写的比较详细,分给他了哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$('.info:before').css("border","2px solid #000");
追问
这个不行的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你己经写好的样式,为什么非要用js动态修改呢?
其它地方引用这个样式的代码怎么办?
如果我来设计程序的话,我会:
静态资源 写好的就是通用的,不需要改的,如果有个别地方需要改,我会用jquery的css方法覆盖其css样式。
其它地方引用这个样式的代码怎么办?
如果我来设计程序的话,我会:
静态资源 写好的就是通用的,不需要改的,如果有个别地方需要改,我会用jquery的css方法覆盖其css样式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询