Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery对于vanilla JavaScript类列表的等价物是什么?_Javascript_Jquery_Html - Fatal编程技术网

jQuery对于vanilla JavaScript类列表的等价物是什么?

jQuery对于vanilla JavaScript类列表的等价物是什么?,javascript,jquery,html,Javascript,Jquery,Html,我正在和两个熟人合作一个项目,我被要求将我的选择器设置为两种类型 document.getElementById("thisDiv"); 或者jQuery选择器,比如 $("#thisDiv"); 为了保持一致性。我决定使用jQuery选择器,然后遇到了一个问题,即使用普通JavaScript选择器的类列表似乎不能使用jQuery等价物 document.getElementById("thisDiv").classList.remove("hidden"); 在哪里工作 $("#this

我正在和两个熟人合作一个项目,我被要求将我的选择器设置为两种类型

document.getElementById("thisDiv");
或者jQuery选择器,比如

$("#thisDiv");
为了保持一致性。我决定使用jQuery选择器,然后遇到了一个问题,即使用普通JavaScript选择器的类列表似乎不能使用jQuery等价物

document.getElementById("thisDiv").classList.remove("hidden");
在哪里工作

$("#thisDiv").classList.remove("hidden");

没有。是否有一个等价的jQuery选择器可以使用?

粗略地说,您可以将jQuery看作是为DOM操作而设计的一组函数。从技术上讲,这就是我们所说的API(应用程序编程接口)。正如您已经知道的,您的web浏览器提供了一个类似于jQuery API的内置API。尽管两种API的用途相同,但存在一些关键差异:

  • jQueryAPI是基于浏览器的内置API构建的
  • 与内置API不同,jQuery API在任何浏览器中的工作方式都是相同的
  • API的结构和命名约定差别很大
  • 最后一点意味着您不能期望从一个API到另一个API找到完全相同的函数,换句话说,您必须阅读手册

    这里有一点帮助::-)

    另一个选项是询问浏览器的控制台。如果您使用的是Chrome(Firefox也可以使用),请按F12,打开“控制台”面板,并尝试猜测您要查找的功能的名称。控制台将显示与您键入内容匹配的名称列表。jQuery API位于
    $。fn

    当然,jQuery必须加载到当前页面中,Stackoverflow就是这种情况。如您所见,有一个名为
    removeClass
    的函数,您可以这样调用它:

    $("#thisDiv").removeClass("hidden")
    

    粗略地说,您可以将jQuery看作是为DOM操作而设计的一组函数。从技术上讲,这就是我们所说的API(应用程序编程接口)。正如您已经知道的,您的web浏览器提供了一个类似于jQuery API的内置API。尽管两种API的用途相同,但存在一些关键差异:

  • jQueryAPI是基于浏览器的内置API构建的
  • 与内置API不同,jQuery API在任何浏览器中的工作方式都是相同的
  • API的结构和命名约定差别很大
  • 最后一点意味着您不能期望从一个API到另一个API找到完全相同的函数,换句话说,您必须阅读手册

    这里有一点帮助::-)

    另一个选项是询问浏览器的控制台。如果您使用的是Chrome(Firefox也可以使用),请按F12,打开“控制台”面板,并尝试猜测您要查找的功能的名称。控制台将显示与您键入内容匹配的名称列表。jQuery API位于
    $。fn

    当然,jQuery必须加载到当前页面中,Stackoverflow就是这种情况。如您所见,有一个名为
    removeClass
    的函数,您可以这样调用它:

    $("#thisDiv").removeClass("hidden")
    

    没有与普通JavaScript
    classList
    等价的普通jQuery

    jQuery等价物的唯一选项是向vanilla jQuery添加一个插件函数,该函数的作用类似于
    classList
    does

    我找到了这样一个插件的建议代码。它们的功能略有不同,但都返回一个规则的类名数组,而不是DOMtokenList,因此它们不支持以与使用
    classList
    相同的格式在元素中添加或删除类。但是,如上@Phani Kumar M所述,使用普通jQuery add()或remove()方法不需要类列表


    当然,获取类列表根本不需要jQuery,但为了代码清晰/简洁,为了方便起见,IE 9及以下版本(不支持
    classList
    )可能需要使用jQuery函数来获取类列表,或者仅仅是出于个人审美的原因。

    没有一种普通的jQuery可以与普通的JavaScript
    类列表相提并论

    jQuery等价物的唯一选项是向vanilla jQuery添加一个插件函数,该函数的作用类似于
    classList
    does

    我找到了这样一个插件的建议代码。它们的功能略有不同,但都返回一个规则的类名数组,而不是DOMtokenList,因此它们不支持以与使用
    classList
    相同的格式在元素中添加或删除类。但是,如上@Phani Kumar M所述,使用普通jQuery add()或remove()方法不需要类列表


    当然,获取类列表根本不需要jQuery,但是对于IE 9及以下版本(不支持
    classList
    ),为了代码清晰/简洁,为了方便,或者仅仅出于个人审美的原因,可能需要jQuery函数来实现这一点。

    使用
    removeClass
    -。您的代码将变成
    $(“#thisDiv”)。删除类(“隐藏”)
    谢谢。如果你把它作为一个答案提交,我会选择它作为答案。知道2017年,十年前的“jQuery addClass/removeClass的香草JS等价物是什么?”这个比喻终于出现了,我真的很高兴。使用
    removeClass
    -。您的代码将变成
    $(“#thisDiv”)。删除类(“隐藏”)
    谢谢。如果你把它作为答案提交,我会选择它作为答案。知道2017年,十年前的“jQuery addClass/removeClass的普通JS等价物是什么?”这个比喻终于出现了,这让我非常高兴。这是关于浏览器开发工具中控制台的极好信息。教人钓鱼的方法!这个答案虽然被接受,但并没有回答所提出的问题。虽然它为特定用例提供了一种变通方法,并提供了一些jQuery的一般背景知识,但它并不试图回答jQuery是否有与vanilla classLi等价的工具