Jquery 无法识别的表达式::第n个子项
我得到以下错误: 无法识别的表达式::第n个子项 以下是与此问题相关的代码:Jquery 无法识别的表达式::第n个子项,jquery,jquery-selectors,Jquery,Jquery Selectors,我得到以下错误: 无法识别的表达式::第n个子项 以下是与此问题相关的代码: var path = $("#quickSearchContainer > ul > li:nth-child(i + 1)"); function resetSearch() { for (i = 0; i < SectorCheck.length; i++) { console.log(path.text());
var path = $("#quickSearchContainer > ul > li:nth-child(i + 1)");
function resetSearch() {
for (i = 0; i < SectorCheck.length; i++) {
console.log(path.text());
console.log(SectorCheck[i]);
if ((path.text()) === SectorCheck[i]) {
path.hide()
}
}
}
var-path=$(“#quickSearchContainer>ul>li:n个子(i+1)”;
函数resetSearch(){
对于(i=0;i
注意:如果我仅将
(I+1)
更改为一个数字,它会工作,但不是所需的。我怀疑您试图使用I
索引到路径。如果是这样的话,就不会有任何东西神奇地将i
变量的值插入选择器,尤其是在它已经执行的情况下
要索引到路径
,请使用[i]
(获取原始DOM元素)或.eq(i)
(获取该位置元素周围的jQuery包装),请参见注释:
var path = $("#quickSearchContainer > ul > li"); // Removed :nth-child(i + 1)
function resetSearch(){
for (var i = 0; i < SectorCheck.length; i++) {
// ^^^----- remember to declare your variables
// Get the entry for `i` (as a jQuery object)
var entry = path.eq(i);
if (entry.text() === SectorCheck[i]) {
entry.hide()
}
}
}
var path=$(“#quickSearchContainer>ul>li”);//删除:第n个子项(i+1)
函数resetSearch(){
对于(var i=0;i
还要注意,您需要声明i
。你的代码因为没有声明而成为我所说的东西的牺牲品。我的本意是什么?CSS选择器没有变量。另外:我强烈怀疑第n个孩子不是你想要的。它的意思不是“在ul
中的第n个li
”,而是“在ul
中的一个li
,它也是ul
的第n个子项”(在ul
和li
的情况下可能是同一回事,但在大多数情况下不会是)。