何时在javascript中使用css元素/类选择器?

Pet*_*per 2 html javascript css jquery

我目前正在开发关于构建交互式网站的codecademy课程,我偶然发现了关于使用css元素的元素/类选择的模糊性.

JavaScript的:

var main = function() {

    $('.article').click(function() {
        $('.article').removeClass('current');
        $('.description').hide();
        $(this).addClass('current');
        $(this).children('.description').show();
    });

}; 
Run Code Online (Sandbox Code Playgroud)

CSS:

.current .item {
  background: rgba(206,220,206,.9);
}
Run Code Online (Sandbox Code Playgroud)

为什么我必须在第4行使用元素选择器'current'而不是类选择器'.current'?它背后是否有任何规则或仅仅是jquery的规范?

voi*_*oid 10

只是因为班级的名字current不是.current,而且在

$('.article').removeClass('current');
Run Code Online (Sandbox Code Playgroud)

current不是任何选择器,而只是classname你要删除的选择器,而不是选择器.article.

您认为我们使用的是元素选择器而不是类选择器.但你错了.你在删除Class中看到Class这个词并添加Class吗?这意味着您传递的是类选择器,而不是元素选择器作为参数.

现在你可能会问为什么你看不到当前的点?因为类是使用点指定的.实际上我们已经指定我们正在传递类选择器,因为你可以在删除Class中看到单词"Class" 并添加Class.