我只是在 div 顶部显示三角形,如下例所示:http: //jsfiddle.net/yuvaraj_b/wPWDm/19/。
我想要一个三角形MENU FOUR
显示在右侧而不是左侧。
这不起作用:
$(this).find(".dropdown ul li:first-child > a:after").css( "left", "300px" );
我该如何解决这个问题,以便它检测到此类并更改left
.
我只是在 div 顶部显示三角形,如下例所示:http: //jsfiddle.net/yuvaraj_b/wPWDm/19/。
我想要一个三角形MENU FOUR
显示在右侧而不是左侧。
这不起作用:
$(this).find(".dropdown ul li:first-child > a:after").css( "left", "300px" );
我该如何解决这个问题,以便它检测到此类并更改left
.
DOM 中不存在诸如此类的伪元素:after
,因此无法被 jQuery 选择器字符串定位。
通常你可以通过使用 CSS 类和 jQuery 方法(或者如果你计划稍后在代码执行中将其切换回来)来完成同样的事情addClass
-removeClass
这toggleClass
将允许你动态更改创建伪元素的 CSS。因此,与其直接通过 jQuery 操作伪元素的 CSS,不如为您的a
元素编写一个 CSS 类,该类具有更新的a:after
伪元素 CSS,并在需要移动三角形时切换该类。
改为添加父元素的类,并基于该新类分配静态 CSS 样式。:after
JavaScript 不能直接定位。
$(this).find(".dropdown ul li:first-child > a").addClass('moved');
CSS:
.dropdown ul li a.moved:after {
left: 300px;
}