为什么这件事不起作用?如果我从javascript和css之前删除::它可以工作。但由于设计需要,必须有一个::之前。我如何指向类+ :: before?
$(function () {
var sections = $("section");
var navigation_links = $("nav a");
sections.waypoint({
handler: function (event, direction) {
var active_section;
active_section = $(this);
if (direction === "up") active_section = active_section.prev();
var active_link = $('nav a[href="#' + active_section.attr("id") + '"]');
navigation_links.removeClass("selected::before");
active_link.addClass("selected::before");
},
offset: '25%'
})
});
的CSS:
.selected::before {
display: block;
content: "";
margin-top: 6px;
width: 8px;
height: 8px;
background: url(../img/sprite.png) -126px -196px;
background-size: 400px 480px;
float: left;
margin-left: 20px;
margin-right: 20px;
}
答案 0 :(得分:0)
您无需在JS中添加::before
。只要.selected
类出现在元素上,CSS就会完成其余的工作。 addClass("selected::before")
告诉浏览器添加一个名为“selected :: before”的类,这不是你想要的。 (我甚至不确定你是否可以在课程名称中加::
,但我怀疑不是。)