Динамическое условное содержимое html на основе выбора пользователя [дубликат]

Статические поля и методы связаны с самим классом, а не с его экземплярами. Если у вас есть класс 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
  }
}
15
задан 18 May 2009 в 22:20
поделиться

3 ответа

12
ответ дан Community 25 August 2018 в 21:21
поделиться

Просто наткнулся на этот пост, я знаю, что он старый, но, честно говоря, ни один из этих ответов не очень полезен. На мой взгляд, вы можете отфильтровать элементы с помощью фильтра с помощью : not , как в filter(':not()').

Как указано Джоэл Поттер , используя $("span[class='apple']").hide(); будет выбирать только те части с одним именем, apple . Если несколько классов присутствуют (что весьма вероятно), то такой подход не будет работать.

Если вы нажмете на слово, например. pears , вы можете отфильтровать элементы, которые not содержат класс pears.

$('span').show().filter(':not(.pears)').hide();

, и все готово;)

16
ответ дан dbf 25 August 2018 в 21:21
поделиться
  • 1
    Если вы хотите отфильтровать несколько элементов, не забудьте использовать этот синтаксис: $('span').show().filter(':not(.pears, .apples, .oranges, .etc)').hide(); – Microcipcip 16 February 2016 в 13:14
  • 2
    Ницца. Это единственное решение для меня. – J0ANMM 27 March 2017 в 16:45

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();
20
ответ дан gehsekky 25 August 2018 в 21:21
поделиться
  • 1
    & Quot; пролет [класс = 'яблоко'] & Quot; будет выбирать интервалы с ТОЛЬКО яблоком в классе. Вы должны использовать & quot; span.apple & quot; поэтому у вас может быть класс = «яблочный плод». – Joel 18 May 2009 в 22:37
  • 2
    Или просто $ («.apple»). Hide (); например – Martin 29 June 2011 в 15:09
Другие вопросы по тегам:

Похожие вопросы: