Ну, простыми словами:
Вы пытаетесь получить доступ к объекту, который не создан или в настоящее время не находится в памяти.
Итак, как это решить:
if (i == null) {
// Handle this
}
Поиск по имени означает, что некоторые фреймворки позволяют использовать FIndObjects с помощью строк, а код может выглядеть так: FindObject («ObjectName»);
есть лучший синтаксис?
blockquote>Нет. CSS '
or
(,
) не допускает группировки. Это, по сути, логический оператор с наименьшим приоритетом в селекторах, поэтому вы должны использовать.a.c,.b.c
.
Пока нет, но есть экспериментальный селектор :matches()
, который делает именно это:
:matches(.a .b) .c {
/*stuff goes here */
}
Здесь вы можете найти дополнительную информацию об этом здесь и здесь . В настоящее время большинство браузеров поддерживают начальную версию :any()
, которая работает одинаково, но будет заменена на :matches()
. Нам просто нужно подождать еще немного, прежде чем использовать это везде (я уверен).
Если у вас есть это:
<div class="a x">Foo</div>
<div class="b x">Bar</div>
<div class="c x">Baz</div>
И вы хотите только выбрать элементы, которые имеют .x
и (.a
или .b
), вы могли бы написать:
.x:not(.c) { ... }
, но это удобно только тогда, когда у вас есть три «подкласса», и вы хотите выбрать два из них.
Выбор только одного подкласса (например .a
): .a.x
Выбор двух подклассов (например, .a
и .b
): .x:not(.c)
Выбор всех трех подклассов: .x
Нет. Стандартный CSS не обеспечивает того, что вы ищете.
Однако вы можете захотеть просмотреть LESS и SASS .
Это два проекта, которые направлены на расширение синтаксиса CSS по умолчанию путем введения дополнительных функций, включая переменные, вложенные правила и другие улучшения.
Они позволяют вам писать гораздо более структурированный код CSS и любой из них почти наверняка решит ваш конкретный вариант использования.
Конечно, ни один из браузеров не поддерживает их расширенный синтаксис (особенно, поскольку два проекта имеют разные синтаксис и функции), но то, что они делают, «компилятор», который преобразует ваш код LESS или SASS в стандартный CSS, который затем можно развернуть на вашем сайте.