为什么我不能在.querySelector函数的选择器中使用变量?

let x = 1;
let y = 'div[class = "log-viewer"] > p:nth-child(' + x.toString() + ')';
let var1 = document.querySelector(y);

当我这样做时,var1 = null。这使我感到困惑,因为如果我将y中包含的字符串键入.querySelector函数中,则会收到适当的输出。有人知道为什么吗?我的最终目标是能够将querySelector放入循环中,这样我就可以将每个孩子放入数组中。