在JavaScript中包含::之前的伪类

时间:2014-08-24 22:17:27

标签: javascript css

为什么这件事不起作用?如果我从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;

}

1 个答案:

答案 0 :(得分:0)

您无需在JS中添加::before。只要.selected类出现在元素上,CSS就会完成其余的工作。 addClass("selected::before")告诉浏览器添加一个名为“selected :: before”的类,这不是你想要的。 (我甚至不确定你是否可以在课程名称中加::,但我怀疑不是。)