我想我可能在querySelector
函数中发现了一个bug。似乎选择器的放置顺序影响选择器是否被选中。为什么查询选择器调用中选择器的顺序很重要?
我试图选择一个使用querySelector的链接,并且正在传递3个不同的选择器,并且希望它选择这3个中的任何一个,不幸的是,有时它不会匹配选择器,即使存在除非我在querySelector函数中重新排列选择器的顺序,否则页面上的确切匹配。
我想匹配测试环节: <a href="https://www.facebook.com/hashtag/coyotes?source=ftp"><span>#Coyotes</span> 60 recent posts</a>
该函数返回null
:
document.querySelector("a[href$='?source=fttp']","a[href$='?source=ftp']","a[href^='/topic/']")
此函数调用链接
document.querySelector("a[href$='?source=ftp']","a[href^='/topic/']","a[href$='?source=fttp']")
两个调用具有完全相同的选择匹配,仅以不同的顺序
我创建演示该问题的jsfiddle: http://jsfiddle.net/eB8nv/5/
谁能告诉我这到底是怎么回事,为什么选择的顺序发送到querySelector功能的问题?
或者使用['querySelectorAll'](https://developer.mozilla.org/en-US/docs/Web/API/Document.querySelectorAll)代替 – kei
@kei:那根本没有帮助。 – SLaks
Doh!谢谢Slaks! – user280109