我正在与两个熟人合作一个项目,他们要求我将选择器保留为普通 JavaScript,例如
document.getElementById("thisDiv");
或类似 jQuery 选择器
$("#thisDiv");
为了保持一致性。我决定使用 jQuery 选择器,然后遇到了一个问题,即与普通 JavaScript 选择器一起使用的 classList 似乎不适用于 jQuery 等效选择器。
document.getElementById("thisDiv").classList.remove("hidden");
有效,如
$("#thisDiv").classList.remove("hidden");
没有。是否有可以用于 jQuery 选择器的等效项?
最佳答案
粗略地说,您可以将 jQuery 视为一组为 DOM 操作而设计的函数。从技术上讲,这就是我们所说的 API(应用程序编程接口(interface))。如您所知,您的 Web 浏览器提供了类似于 jQuery API 的内置 API。尽管这两个 API 具有相同的用途,但存在一些关键差异:
- jQuery API 构建于浏览器的内置 API 之上。
- 与内置 API 不同,jQuery API 在任何浏览器中的工作方式都是相同的。
- API 结构和命名约定差异很大。
最后一点意味着您不能期望从一个 API 到另一个 API 找到完全相同的功能,换句话说,您必须阅读手册。
这里有一些帮助:http://api.jquery.com/category/manipulation/class-attribute :-)
另一个选择是询问浏览器的控制台。如果您使用的是 Chrome(Firefox 应该同样工作),请按 F12,打开“控制台”面板,然后尝试猜测您要查找的函数的名称。控制台将通过显示与您输入的内容相匹配的名称列表来提供帮助。 jQuery API 位于 $.fn
:
当然jQuery必须在当前页面加载,Stackoverflow上就是这样。如您所见,有一个名为 removeClass
的函数,您可以这样调用它:
$("#thisDiv").removeClass("hidden")
关于javascript - jQuery 相当于普通 JavaScript classList 的什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46751831/