【问题标题】:jQuery class selector "class_name" vs ".class_name"jQuery 类选择器“class_name”与“.class_name”
【发布时间】:2015-04-23 01:42:45
【问题描述】:

在浏览 jQuery 示例时,我看到 CSS 类在引用前带有“.”。有时有时没有。例如,在这个来自 codecademy 的 sn-p 中:

else if(event.which === 110) {
  var currentArticle = $('.current');
  var nextArticle = currentArticle.next();

  currentArticle.removeClass('current');

为什么第2行需要选择器$('.current'),而第4行只需要('current')?

【问题讨论】:

  • 将选择器作为参数的方法具有 .首先,将类(或类列表)作为参数的方法将没有点

标签: jquery css class selector


【解决方案1】:

这是一个约定。

在第二行 $('.current') 告诉 jQuery 搜索名为“current”的东西,点将其指定为一个类。所以我们需要调用“.current”

在第 4 行,您已经告诉 jQuery 您将使用“removeClass”来选择一个类,因此您不需要在此处使用点。因为那就像“removeClass current 是一个类”

【讨论】:

  • 所以jQuery需要至少使用一次'.current'约定来识别你指的是哪个类,然后你可以将它称为'current'?
  • 不完全是这样。如果您使用选择器(搜索元素),则需要指定它是类(使用“.”)还是 id(使用“#”)。但是,如果您正在对已经找到的元素进行任何操作,那么您就不需要再使用它们了。
【解决方案2】:

$('.current')(或在 find/next 等方法中,您试图查找具有给定类的元素),我们使用选择器,因此类选择器的符号在 . 之前必须是用过。

当你添加/删除/切换一个类时,你没有使用选择器,你只是使用了一个名称,所以没有使用.

【讨论】:

  • 所以jQuery需要至少使用一次'.current'约定来识别你指的是哪个类,然后你可以将它称为'current'?
【解决方案3】:

该方法明确使用术语

否则,您将始终需要一个类选择器,if 这是您定位元素的方法(您可以通过 ID、数据属性、HTML 标记定位)。

【讨论】:

    【解决方案4】:

    我觉得

    var currentArticle = $('.current');
    

    这里你需要一个点,因为这意味着你通过类匹配来选择它。

    在下面:

    currentArticle.removeClass('current');
    

    你已经指定要移除一个类,你不需要一个点,因为这里它不是一个选择器,它是你要移除的类名。

    【讨论】:

      【解决方案5】:

      removeClass()$('.current') 都是方法,您可以将参数传递给方法,唯一的问题是 jQuery 使用的约定。尝试将您的类命名为<div class='.current'>I am a div</div> 并尝试此console.log($('..current').text()); 您将收到此错误Error: Syntax error, unrecognized expression: ..testA 所以基本上它是jQuery 的规则/约定。

      【讨论】:

        【解决方案6】:

        jQuery 选择器是在 CSS 属性上设计的,因此可以使用相同的语法,您也可以使用 class 选择器不同的方式,例如 $("[current]") 它将正确地用作 HTML 标记元素。

        函数removeClass()不将类作为选择器,函数声明仅用于类,因此无需确定传递值,尽管函数将值作为字符串而不是<selector>

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-07-28
          • 1970-01-01
          • 1970-01-01
          • 2013-01-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多