Как написать селектор jQuery "if not class"? Я хочу сделать что-то с var p: var p = $("li:last"); Но я не хочу ничего делать, если есть определенный класс. Я пробовал: не так: var p = $("li:last:not(.Class)"); Это не работает. Как я могу исключить .Class в моем var? Ответ 1 var p = $("li:last").not(".Class"); http://api.jquery.com/not/ Ответ 2 Фактически :not работает как селектор. Если вы хотите выбрать последний элемент, который не имеет класса, используйте этот var p = $("li:not(.Class):last"); Сначала выбирается li, у которого нет этого класса, а затем последний из них. Посмотрите, как он работает здесь. Чтобы сделать это совершенно ясно, они эквивалентны: var p = $("li:not(.Class):last"); var p = $("li").not(".Class").last(); И, также, они эквивалентны: var p = $("li:last:not(.Class)"); var p = $("li").last().not(".Class"); Ответ 3 var p = $("li:last"); if (!p.hasClass('Class')){ //some stuff } http://api.jquery.com/hasClass/
Ответ 2 Фактически :not работает как селектор. Если вы хотите выбрать последний элемент, который не имеет класса, используйте этот var p = $("li:not(.Class):last"); Сначала выбирается li, у которого нет этого класса, а затем последний из них. Посмотрите, как он работает здесь. Чтобы сделать это совершенно ясно, они эквивалентны: var p = $("li:not(.Class):last"); var p = $("li").not(".Class").last(); И, также, они эквивалентны: var p = $("li:last:not(.Class)"); var p = $("li").last().not(".Class");
Ответ 3 var p = $("li:last"); if (!p.hasClass('Class')){ //some stuff } http://api.jquery.com/hasClass/