jQuery class 选择器 "class_name" 与“.class_name”
jQuery class selector "class_name" vs ".class_name"
在查看 jQuery 示例时,我看到 CSS 类 被前缀为“.”。有时和其他时候没有。例如,在 codecademy 的这段代码中:
else if(event.which === 110) {
var currentArticle = $('.current');
var nextArticle = currentArticle.next();
currentArticle.removeClass('current');
为什么第二行需要选择器$('.current'),而第四行只需要('current')?
在 $('.current')
中(或在 find/next 等方法中,您试图找到具有给定 class 的元素),我们使用选择器,因此表示法class 选择器在前面 .
必须使用。
当你 add/remove/toggle 一个 class 时,你没有使用选择器,你只是使用了一个名字,所以没有 .
使用
这是惯例。
第 2 行 $('.current') 告诉 jQuery 搜索名为 "current" 的内容,点将其指定为 class。所以我们需要调用“.current”
在第 4 行,您已经告诉 jQuery 您将使用 "removeClass" select 一个 class,因此您不需要在那里使用点。因为那会像 "removeClass current being a class"
该方法明确使用术语 Class。
否则,您将始终需要一个 class 选择器,if 这是您定位元素的方法(您可以通过 ID、数据属性、HTML 标签).
jQuery 选择器是在 CSS 属性 上设计的,所以可以使用相同的语法,你也可以使用 class
选择器不同的方式,比如 $("[current ]") 它将作为 HTML
标记元素正常工作。
function removeClass()
不以 class 作为选择器,函数 announce 仅适用于 class 所以不需要确定传递值,尽管函数将值作为字符串不是 <selector>
我觉得
var currentArticle = $('.current');
这里你需要一个点,因为它意味着你select它通过class匹配。
及以下:
currentArticle.removeClass('current');
您已经指定删除class,您不需要点,因为这里不是select或者,它是您想要的class名称删除。
removeClass()
和 $('.current')
都是方法,您可以将参数传递给方法,唯一的是它是 jQuery
使用的约定。尝试将您 class 命名为 <div class='.current'>I am a div</div>
并尝试此 console.log($('..current').text());
您将遇到此错误 Error: Syntax error, unrecognized expression: ..testA
所以基本上它的规则/约定 jQuery.
在查看 jQuery 示例时,我看到 CSS 类 被前缀为“.”。有时和其他时候没有。例如,在 codecademy 的这段代码中:
else if(event.which === 110) {
var currentArticle = $('.current');
var nextArticle = currentArticle.next();
currentArticle.removeClass('current');
为什么第二行需要选择器$('.current'),而第四行只需要('current')?
在 $('.current')
中(或在 find/next 等方法中,您试图找到具有给定 class 的元素),我们使用选择器,因此表示法class 选择器在前面 .
必须使用。
当你 add/remove/toggle 一个 class 时,你没有使用选择器,你只是使用了一个名字,所以没有 .
使用
这是惯例。
第 2 行 $('.current') 告诉 jQuery 搜索名为 "current" 的内容,点将其指定为 class。所以我们需要调用“.current”
在第 4 行,您已经告诉 jQuery 您将使用 "removeClass" select 一个 class,因此您不需要在那里使用点。因为那会像 "removeClass current being a class"
该方法明确使用术语 Class。
否则,您将始终需要一个 class 选择器,if 这是您定位元素的方法(您可以通过 ID、数据属性、HTML 标签).
jQuery 选择器是在 CSS 属性 上设计的,所以可以使用相同的语法,你也可以使用 class
选择器不同的方式,比如 $("[current ]") 它将作为 HTML
标记元素正常工作。
function removeClass()
不以 class 作为选择器,函数 announce 仅适用于 class 所以不需要确定传递值,尽管函数将值作为字符串不是 <selector>
我觉得
var currentArticle = $('.current');
这里你需要一个点,因为它意味着你select它通过class匹配。
及以下:
currentArticle.removeClass('current');
您已经指定删除class,您不需要点,因为这里不是select或者,它是您想要的class名称删除。
removeClass()
和 $('.current')
都是方法,您可以将参数传递给方法,唯一的是它是 jQuery
使用的约定。尝试将您 class 命名为 <div class='.current'>I am a div</div>
并尝试此 console.log($('..current').text());
您将遇到此错误 Error: Syntax error, unrecognized expression: ..testA
所以基本上它的规则/约定 jQuery.