Css Chrome中嵌套第n个子项的querySelector不';似乎不起作用

Css Chrome中嵌套第n个子项的querySelector不';似乎不起作用,css,google-chrome,css-selectors,Css,Google Chrome,Css Selectors,我一直在研究在第n个子选择器中使用第n个子元素来查找元素。这在Firefox中似乎有效,但在chrome上似乎不起作用。这是我的测试文件: 无标题 myFunc=函数(){ if(document.querySelector(“#奇妙的DIV:n个孩子(2)DIV:n个孩子(2)”){ 警惕(“发现元素”); }否则{ 警报(“未找到元素”); } }; 找到我! 还有其他人看到过这个问题吗?有解决办法吗?这对我来说在chrome中很有效,但在FF中却不起作用 document.queryS

我一直在研究在第n个子选择器中使用第n个子元素来查找元素。这在Firefox中似乎有效,但在chrome上似乎不起作用。这是我的测试文件:


无标题
myFunc=函数(){
if(document.querySelector(“#奇妙的DIV:n个孩子(2)DIV:n个孩子(2)”){
警惕(“发现元素”);
}否则{
警报(“未找到元素”);
}
};
找到我!

还有其他人看到过这个问题吗?有解决办法吗?

这对我来说在chrome中很有效,但在FF中却不起作用

document.querySelector('#wonderful div:nth-child(2):nth-child(2)')
下面的snipped在两种浏览器中都适用,但我想您已经知道了

document.querySelector('#wonderful div:nth-child(2) div.blue')
所以对我来说,这看起来像是chrome中的一个实现失败。

在寻找一条红鲱鱼时发现了这个(非常古老的)问题。这个答案值得注意:今天,ChromeV73工作得很好。这里的代码片段证明了这一点:

const sel='#奇妙的div:n个孩子(2)div:n个孩子(2)';
console.log(document.querySelector(sel))

找到我!

是的,非常有趣。我没有试过第一个,但第二个我知道。如果有一种跨浏览器的方式,而不使用XPath,那就太好了。您的第一个代码片段没有意义。是的,但是第n个孩子(2):第n个孩子(2)和第n个孩子(2)是一样的。@BoltClock你是对的,这没有意义,但它是有效的。这就是为什么我认为这是chrome中的一个实现错误。@DanielB我认为这可能是一个错误,因为我一直在尝试:not():not(),而且它似乎只尊重第一个。。但是css选择了正确的元素,但是javascript没有。还没有检查其他浏览器。