Javascript 为什么queryselector调用中选择器的顺序很重要?
我想我可能在Javascript 为什么queryselector调用中选择器的顺序很重要?,javascript,Javascript,我想我可能在querySelector函数中发现了一个bug。似乎选择器的放置顺序会影响选择器是否被选中 我尝试使用querySelector选择一个链接,并传入3个不同的选择器,希望它选择这3个选择器中的任何一个,不幸的是,有时即使页面上有明确的匹配,它也不会匹配选择器,除非我在querySelector函数中重新排列选择器的顺序 我要匹配的测试链接: 此函数返回null: document.querySelector("a[href$='?source=fttp']","a[href$='
querySelector
函数中发现了一个bug。似乎选择器的放置顺序会影响选择器是否被选中
我尝试使用querySelector选择一个链接,并传入3个不同的选择器,希望它选择这3个选择器中的任何一个,不幸的是,有时即使页面上有明确的匹配,它也不会匹配选择器,除非我在querySelector函数中重新排列选择器的顺序
我要匹配的测试链接:
此函数返回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']")
两个电话都有完全相同的选择器,只是顺序不同
我创建了一个JSFIDLE来演示这个问题:
有人能告诉我这里发生了什么,以及为什么发送到querySelector函数的选择器的顺序很重要吗?querySelector()
只接受一个参数。你不能那样做 相反,您需要传递一个带有三个逗号分隔选择器的字符串。
querySelector()
只接受一个参数。你不能那样做
相反,您需要用三个逗号分隔的选择器传递一个字符串。或使用instead@kei:那根本没用。或者使用instead@kei:那根本没用。