Статические поля и методы связаны с самим классом, а не с его экземплярами. Если у вас есть класс A
, «нормальный» метод b
и статический метод c
, и вы создаете экземпляр a
вашего класса A
, вызовы A.c()
и a.b()
действительны. Метод c()
не знает, какой экземпляр подключен, поэтому он не может использовать нестатические поля.
Решение для вас состоит в том, что вы либо статируете свои поля, либо ваши методы не статичны. Вы могли бы выглядеть так:
class Programm {
public static void main(String[] args){
Programm programm = new Programm();
programm.start();
}
public void start(){
// can now access non-static fields
}
}
Просто наткнулся на этот пост, я знаю, что он старый, но, честно говоря, ни один из этих ответов не очень полезен. На мой взгляд, вы можете отфильтровать элементы с помощью фильтра с помощью : not , как в filter(':not()')
.
Как указано Джоэл Поттер , используя $("span[class='apple']").hide();
будет выбирать только те части с одним именем, apple . Если несколько классов присутствуют (что весьма вероятно), то такой подход не будет работать.
Если вы нажмете на слово, например. pears , вы можете отфильтровать элементы, которые not содержат класс pears
.
$('span').show().filter(':not(.pears)').hide();
, и все готово;)
$('span').show().filter(':not(.pears, .apples, .oranges, .etc)').hide();
– Microcipcip
16 February 2016 в 13:14
hmm .. Если бы у вас был список вроде следующего:
<span class="apple">red apple</span>
<span class="apple">green apple</span>
<span class="pear">big pear</span>
<span class="pear">little pear</span>
, следующее следующее:
$("span.*").show();
следующее скроет все элементы с помощью класса = "apple" ':
$("span[class='apple']").hide();
, или вы можете скрывать все, что не имеет «class =" pear ":
$("span[class!='pear']").hide();