JQM испортил внешний вид и функцию выделенного списка

== проверяет ссылки на объекты, .equals() проверяет строковые значения.

Иногда кажется, что == сравнивает значения, потому что Java делает некоторые закулисные вещи, чтобы убедиться, что одинаковые строки в строке являются одним и тем же объектом.

Для Например:

String fooString1 = new String("foo");
String fooString2 = new String("foo");

// Evaluates to false
fooString1 == fooString2;

// Evaluates to true
fooString1.equals(fooString2);

// Evaluates to true, because Java uses the same object
"bar" == "bar";

Но будьте осторожны с нулями!

== обрабатывает строки null в порядке, но вызов .equals() из пустой строки приведет к исключению:

String nullString1 = null;
String nullString2 = null;

// Evaluates to true
System.out.print(nullString1 == nullString2);

// Throws a NullPointerException
System.out.print(nullString1.equals(nullString2));

Итак, если вы знаете, что fooString1 может но не менее очевидно, что он проверяет значение null (из Java 7):

System.out.print(Objects.equals(fooString1, "bar"));
0
задан Ask Question Wizard 21 January 2019 в 21:40
поделиться

1 ответ

Если я вас правильно понял, ваша проблема в том, что jQuery Mobile использует стили для блока выбора, и вы хотите, чтобы он оставался без стилей?

Есть несколько подходов к этому:

  1. [ 116] Добавьте атрибут data-extension = ”false” ко всем элементам, для которых вы не хотите, чтобы стиль jQuery Mobile. Вы можете использовать его для одного элемента или для родительских элементов, и jQuery Mobile также предотвратит улучшение разметки для всех дочерних элементов.

  2. Если вы хотите сделать это только для одного элемента, используйте только этот атрибут: data-role = ”none”

Здесь Вы можете найти рабочие примеры.

0
ответ дан Gajotres 21 January 2019 в 21:40
поделиться
Другие вопросы по тегам:

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