在JavaScript中,querySelector和querySelectorAll与getElementsByClassName和getElementById的区别
P粉442576165
P粉442576165 2023-08-21 21:45:39
[PHP讨论组]

我想知道querySelectorquerySelectorAllgetElementsByClassNamegetElementById之间到底有什么区别?

从这个链接中,我了解到使用querySelector,我可以写document.querySelector(".myclass")来获取具有类名myclass的元素,以及document.querySelector("#myid")来获取具有IDmyid的元素。但是我已经可以使用getElementsByClassNamegetElementById来实现这个功能。哪个应该优先选择?

另外,我在XPages中工作,ID是动态生成的,包含冒号,看起来像这样view:_id1:inputText1。所以当我写document.querySelector("#view:_id1:inputText1")时,它不起作用。但是当我写document.getElementById("view:_id1:inputText1")时,它起作用。有任何想法为什么会这样?

P粉442576165
P粉442576165

全部回复(1)
P粉238355860

语法和浏览器支持。

querySelector在你想要使用更复杂的选择器时更有用。

例如,所有从属于foo类的元素的列表项:.foo li

:字符在选择器中有特殊含义。你需要对它进行转义。(选择器转义字符在JS字符串中也有特殊含义,所以你也需要转义)。

document.querySelector("#view\\:_id1\\:inputText1")
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号