Javascript 如何使用jquery更改css属性
我只是在div顶部显示三角形,如本例所示: 我想要一个三角形,让菜单四显示在右边而不是左边 这不起作用:Javascript 如何使用jquery更改css属性,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我只是在div顶部显示三角形,如本例所示: 我想要一个三角形,让菜单四显示在右边而不是左边 这不起作用: $(this).find(".dropdown ul li:first-child > a:after").css( "left", "300px" ); 如何修复此问题,以便它检测此类并更改left的位置。Psuedo元素(例如:after)在DOM中不存在,因此jQuery选择器字符串无法将其作为目标 通常,如果您计划稍后在代码执行jQuery方法中切换回CSS类以及addCla
$(this).find(".dropdown ul li:first-child > a:after").css( "left", "300px" );
如何修复此问题,以便它检测此类并更改left的位置。Psuedo元素(例如:after)在DOM中不存在,因此jQuery选择器字符串无法将其作为目标
通常,如果您计划稍后在代码执行jQuery方法中切换回CSS类以及addClass和removeClass或toggleClass,则可以通过使用CSS类来完成相同的任务-这将允许您动态更改创建psuedo元素的CSS。因此,与其通过jQuery直接操作psuedo元素的CSS,不如为a元素编写一个CSS类,该类更新了a:after psuedo元素的CSS,并在需要移动三角形时切换该类。改为添加父元素的类,并基于该新类指定静态CSS样式:JavaScript不能直接将after作为目标
$(this).find(".dropdown ul li:first-child > a").addClass('moved');
CSS:
请在您的问题中包含相关的HTML。如果这些答案中的任何一个解决了您的问题,请标记解决方案,谢谢。
.dropdown ul li a.moved:after {
left: 300px;
}