当前位置: 首页 > 面试题库 >

querySelector和querySelectorAll与JavaScript中的getElementsByClassName和getElementById

鲁鸿朗
2023-03-14
问题内容

我想知道querySelectorand querySelectorAll
getElementsByClassName和之间的区别到底是什么getElementById

通过此链接,我可以收集到有关内容,querySelector可以编写document.querySelector(".myclass")以获取具有class的元素myclassdocument.querySelector("#myid")获取具有ID的元素myid。但我已经可以做到这一点getElementsByClassNamegetElementById。应该首选哪一个?

我也在XPages中工作,其中的ID是用冒号动态生成的,如下所示view:_id1:inputText1。所以当我写的时候document.querySelector("#view:_id1:inputText1")它是行不通的。但是写document.getElementById("view:_id1:inputText1")作品。有什么想法吗?


问题答案:

我想知道querySelector和querySelectorAll与getElementsByClassName和getElementById之间到底有什么区别?

语法和浏览器支持。

querySelector 当您要使用更复杂的选择器时,此功能将更为有用。

例如,所有列表项均来自作为foo类成员的元素: .foo li

document.querySelector(“#view:_id1:inputText1”)无效。但是编写document.getElementById(“
view:_id1:inputText1”)可以。有什么想法吗?

:字符有选择内部特殊的意义。你必须逃避它。(选择器转义字符在JS字符串中也具有特殊含义,因此您也必须转义 字符)。

document.querySelector("#view\\:_id1\\:inputText1")


 类似资料:
  • 本文向大家介绍getElementById和querySelector方法的区别是什么?相关面试题,主要包含被问及getElementById和querySelector方法的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 getElementByXXX 获取的是动态集合,querySelecto或querySelectorAll获取的是静态集合。

  • 本文向大家介绍用原生js实现类似getElementsByClassName的方法,不能使用querySelectorAll相关面试题,主要包含被问及用原生js实现类似getElementsByClassName的方法,不能使用querySelectorAll时的应答技巧和注意事项,需要的朋友参考一下

  • 问题内容: DO (等类似的功能和)的工作一样,还是他们返回元素的数组? 我问的原因是因为我试图使用更改所有元素的样式。见下文。 问题答案: 您的代码可以正常工作,因为ID必须是唯一的,因此该函数始终仅返回一个元素(或者如果找不到元素)。 然而,,,和其他方法返回元件的阵列状的集合。像使用真实数组那样对其进行迭代: 如果您喜欢较短的内容,请考虑使用jQuery:

  • 问题内容: 我不知道如何在JavaScript中使用多个ID。单个ID和getElementById没问题,但是一旦我将ID更改为class并尝试使用getElementsByClassName,该函数就会停止工作。我已经读了约100条关于该主题的文章;仍然没有找到答案,所以我希望这里的人知道如何使getElementsByClassName工作。 这是我用于测试的一些简单代码: 问题答案: 返回

  • 问题内容: 我正在定义JSON文件中的项目列表,并将该列表显示在网页上。目的是让用户单击该列表中的任何项目以显示有关该项目的更多信息(保存在同一JSON文件中的信息)。 该列表的所有项目都是同一类的成员,并且每个项目都有一个从JSON文件定义的唯一ID。HTML看起来像这样: 我打算使用一些类似的方法 与 但我不确定如何将ID从事件侦听器传递到打印功能,以确定要打印的详细信息。 我在HTML /

  • 问题内容: 我已经知道了,并且是类似的函数集(函数的上下文)。 区别在于我们发送参数的方式(手动vs数组) 题: 但是什么时候应该使用该 方法? 问题答案: 当你希望稍后在特定上下文中调用该函数时使用,该事件在事件中很有用。当你想立即调用该函数并修改上下文时,请使用或。 调用/应用立即调用该函数,而bind返回一个函数,该函数在以后执行时将具有用于调用原始函数的正确上下文集。这样,你可以在异步回调