Javascript 调用CSS时的Jquery函数&;HTML

Javascript 调用CSS时的Jquery函数&;HTML,javascript,jquery,Javascript,Jquery,我对jQuery函数中使用“”和“.”感到困惑。 你到底什么时候用一个还是另一个 比如说, var main = function(){ $('.article').click(function(){ $('.article').removeClass('current') $('.description').hide(); $(this).addClass('current'); $(this).children('.

我对jQuery函数中使用“”和“.”感到困惑。 你到底什么时候用一个还是另一个

比如说,

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

$(document).ready(main);
为什么使用
.addClass('current')
而不是
.addClass('current')
是正确的, 或者
子项('.description')
而不是
子项('description')


谢谢你,我真的找不到答案,也不知道如何在谷歌上找到答案。

如果你指的是一个类,你会使用前缀
,如果你指的是一个ID,你会使用前缀


但是,
addClass()
知道它是一个类,因此它不需要
前缀。

当您引用
类时,
。查看有关课程的更多信息。因此,在您的例子中,当您使用
执行某些操作时,您正在使用
。示例
$(this).children('.description').show()。HTML代码中的某个地方有一个
元素
,带有
.description
(示例
)。而且您没有在
.addClass()
方法中使用
,因为您并没有引用现有的类,而是在“创建”一个类


您还应该查看以了解有关jQuery选择器的更多信息。

我想与您分享我对您的问题的了解

  • addClass()
    用于将特定类添加到当前元素。它要求类名=>在类名之前不需要使用
  • children()<代码>选择器可以是类(
    )、ID(
    #
    )或DOM对象(例如
    div
    p
    ,…)
有关详细信息,请阅读jQueryAPI文档


jQuery使用CSS选择器来选择元素,因此,当您使用类似children()的函数时,必须使用正确的CSS选择器,例如“.class name”。addClass只是将类名作为参数,所以在本例中,“类名”是合适的参数。

以下是我的解释。有两种不同的情况正在发生

这是一种典型的jQuery模式:

$(selector).doSomething(parameter);
$()
中的任何内容都称为选择器。这是一个表达式,用于标识将选择哪些DOM元素来应用函数

选择器可以具有以下格式:

'div' or 'a' or ... // selects all the divs or all the anchor tags
'.someclass' // selects all elements that have class 'someclass'
'#someid'    // selects all the elements that have id 'someid'
somevariable // a variable that is defined somewhere else (e.g. var somevariable = '.someclass')
符号表示类。因此
.description
,表示:选择一个类。哪一班?名为
description
的类


选择器到此为止,现在让我们看看参数。参数是传递给函数的变量。如果您的函数需要一个css类,就像
addClass
所需要的那样,那么您可以将该类的名称作为参数传递。在您的例子中,类的名称是
description

,这基本上是正确的。我要指出的是,您不必为
.addClass()
使用点语法的原因不是因为没有现有的类,而是因为它只能处理类。其他的jQuery方法(
.children()
.find()
.closest()
,等等)是不明确的,可以引用类、ID、属性等。我所知道的唯一一个这样做的方法(需要排除点)属于。在我的HTML代码中,是我找到的唯一“当前”单词。所以在这种情况下。文章是类,而当前不是??这就是为什么在代码开始时它是这样写的吗$('.article')。单击(function(){$('.article')。removeClass('current')$('.description')).hide();在您的情况下,article和current都是类。您可以将多个类设置为一个元素,但只能设置一个id。但是在jQuery代码中,您正在删除类“current”。