我目前正在研究 codecademy关于构建交互式网站的类(class),我偶然发现了关于使用 css 元素的元素/类选择的歧义。
JavaScript:
var main = function() {
$('.article').click(function() {
$('.article').removeClass('current');
$('.description').hide();
$(this).addClass('current');
$(this).children('.description').show();
});
};
CSS:
.current .item {
background: rgba(206,220,206,.9);
}
为什么我必须在第 4 行中使用元素选择器“current”而不是类选择器“.current”?它背后是否有任何规则或只是 jquery 的规范?
最佳答案
只是因为类名是current
而不是.current
,并且在
$('.article').removeClass('current');
current
不是任何选择器,而只是您要删除的 classname
,选择器是 .article
。
您认为我们使用的是元素选择器而不是类选择器。但你错了。你在 removeClass 和 addClass 中看到 Class 这个词了吗?这意味着您传递的是类选择器,而不是元素选择器作为参数。
现在您可能会问,为什么看不到带电流的点?因为类是使用点指定的。实际上我们已经指定我们正在传递类选择器,因为您可以在 removeClass 和 addClass 中看到单词“Class”。
关于javascript - 什么时候在 javascript 中使用 css 元素/类选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28672473/