jQuery Accordion - нужен индекс текущей выбранной части контента

Оператор == проверяет, указывают ли две ссылки на один и тот же объект или нет. .equals() проверьте фактическое содержимое строки (значение).

Обратите внимание, что метод .equals() принадлежит классу Object (суперкласс всех классов). Вам необходимо переопределить его в соответствии с вашим требованием к классу, но для String оно уже реализовано и проверяет, имеет ли две строки одно и то же значение.

  • Случай 1
    String s1 = "Stack Overflow";
    String s2 = "Stack Overflow";
    s1 == s2;      //true
    s1.equals(s2); //true
    
    Причина: строка литералы, созданные без нуля, хранятся в пуле строк в области перментонов кучи. Таким образом, оба s1 и s2 указывают на один и тот же объект в пуле.
  • Случай 2
    String s1 = new String("Stack Overflow");
    String s2 = new String("Stack Overflow");
    s1 == s2;      //false
    s1.equals(s2); //true
    
    Причина. Если вы создаете объект String с использованием ключевого слова new, ему выделяется отдельное пространство в куче.
13
задан Lucky 6 April 2013 в 06:17
поделиться

2 ответа

Существует обстоятельство, при котором требуется объявить его окончательным - иначе это приведет к ошибке компиляции -, а именно передать их в анонимные классы. Основной пример:

public FileFilter createFileExtensionFilter(final String extension) {
    FileFilter fileFilter = new FileFilter() {
        public boolean accept(File pathname) {
            return pathname.getName().endsWith(extension);
        }
    };

    // What would happen when it's allowed to change extension here?
    // extension = "foo";

    return fileFilter;
}

Удаление модификатора final приведет к ошибке компиляции, поскольку больше не гарантируется, что значение является постоянной времени выполнения. Изменение значения вне анонимного класса приведет к тому, что экземпляр анонимного класса будет вести себя иначе после момента создания.

-121--2506623-

К сожалению, в версиях ColdFusion до CF9 нет. Тем не менее, что вы можете сделать, это сопоставить UDF в cflog:

<cffunction name="doCFLog">
   <cflog attributeCollection="#arguments#">
</cffunction>

внутри вашего cfscript вызвать функцию doCFLog с теми же атрибутами, как вы бы cflog

, например. DOCFLog (text = 'sometext', type = 'warning', приложение = 'yes', file = 'mylog');

Примечание: его не рекомендуется называть методы/udf etc теми же именами, что и существующую функцию или тэг, следовательно, не вызывать функцию «cflog» или «log»

-121--2387541-

Закон Брюса о Google - неважно, как долго вы будете бороться, через 1 минуту после публикации вашего вопроса Google наконец предложит ответ.

  function(event, ui) { 
  var index = jQuery(this).find("h3").index(ui.newHeader[0]);
  alert('bob ' + index);
  }})});

Ну, может, это поможет кому-то еще.

19
ответ дан 1 December 2019 в 17:39
поделиться

Из документации JQuery UI, доступной на веб-сайте JQuery UI :

//getter
var active = $('.selector').accordion('option', 'active');

или в вашем случае

var active = jQuery("#menu_div").accordion('option', 'active');
24
ответ дан 1 December 2019 в 17:39
поделиться
Другие вопросы по тегам:

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