我只是在div的顶部显示三角形,如下例所示:http://jsfiddle.net/yuvaraj_b/wPWDm/19/。如何使用jquery更改css属性
我要为MENU FOUR
三角形显示在右侧而不是左侧。
这不是工作:
$(this).find(".dropdown ul li:first-child > a:after").css("left", "300px");
我怎样才能解决这个问题,以便它检测到这一类,并改变left
了现在的位置。
我只是在div的顶部显示三角形,如下例所示:http://jsfiddle.net/yuvaraj_b/wPWDm/19/。如何使用jquery更改css属性
我要为MENU FOUR
三角形显示在右侧而不是左侧。
这不是工作:
$(this).find(".dropdown ul li:first-child > a:after").css("left", "300px");
我怎样才能解决这个问题,以便它检测到这一类,并改变left
了现在的位置。
伪元素如:after
不会在DOM存在,因此不能由jQuery选择字符串进行定位。
通常你可以通过使用CSS类完成同样的事情和addClass
和removeClass
(或者,如果你打算在代码执行后切换回toggleClass
)jQuery方法 - 这将允许你动态地更改创建CSS伪元素。因此,不是直接通过jQuery操纵psuedo元素的CSS,而是为您的a
元素编写一个CSS类,该元素具有更新后的a:after
psuedo元素的CSS,并在需要移动三角形时切换该类。
改为添加父元素的类,然后根据该新类指派静态CSS样式。不能直接通过JavaScript定位到:after
。
$(this).find(".dropdown ul li:first-child > a").addClass('moved');
CSS:
.dropdown ul li a.moved:after {
left: 300px;
}
请在你的问题相关的HTML。 –
如果其中任一答案解决了您的问题,请标记解决方案,谢谢。 – Ennui