我想知道querySelector和querySelectorAll与getElementsByClassName和getElementById之间到底有什么区别?
从这个链接中,我了解到使用querySelector,我可以写document.querySelector(".myclass")来获取具有类名myclass的元素,以及document.querySelector("#myid")来获取具有IDmyid的元素。但是我已经可以使用getElementsByClassName和getElementById来实现这个功能。哪个应该优先选择?
另外,我在XPages中工作,ID是动态生成的,包含冒号,看起来像这样view:_id1:inputText1。所以当我写document.querySelector("#view:_id1:inputText1")时,它不起作用。但是当我写document.getElementById("view:_id1:inputText1")时,它起作用。有任何想法为什么会这样?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
语法和浏览器支持。
querySelector在你想要使用更复杂的选择器时更有用。例如,所有从属于foo类的元素的列表项:
.foo li:字符在选择器中有特殊含义。你需要对它进行转义。(选择器转义字符在JS字符串中也有特殊含义,所以你也需要转义它)。document.querySelector("#view\\:_id1\\:inputText1")