Нераспознанное выражение:: nth-child - PullRequest
0 голосов
/ 27 сентября 2018

Я получаю следующую ошибку:

нераспознанное выражение:: nth-child

Ниже приведен код, относящийся к этой проблеме:

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()
    }   
  }
}

Примечание: если я заменю (i + 1) только на число, оно будет работать, но это не то, что нужно.

1 Ответ

0 голосов
/ 27 сентября 2018

Я подозреваю, что вы пытаетесь индексировать в path с i.Если это так, то ничто не будет волшебным образом вставлять значение вашей переменной i в селектор, особенно если оно уже выполнено.

Для индексации в path используйте [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()
        }   
    }
}

Также обратите внимание, что вам нужно объявить i.Ваш код стал жертвой того, что я называю Ужас неявных глобалов , не объявив его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...