Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery更改css属性_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何使用jquery更改css属性

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

我只是在div顶部显示三角形,如本例所示:

我想要一个三角形,让菜单四显示在右边而不是左边

这不起作用:

$(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;
}