2015-06-16 5 views
6

Начали с углового и транспортир.Должен ли я использовать идентификаторы для поиска элементов?

Просто неправильно писать тяжелые селекторные css-селектора, которые мгновенно разорвутся, когда вы что-то измените. Использование идентификаторов упростило бы тестирование.

Я еще не использую атрибут id для стилизации. Есть ли недостатки с использованием идентификаторов для тестирования, которые я не рассматривал?

+0

Всеми средствами, использовать идентификаторы для нахождения элементов. Для этого они созданы! –

+0

Просто убедитесь, что у вас не будет дубликатов идентификаторов, иначе вы можете получить неожиданные результаты. –

+0

@SergioTulentsev> Когда дело доходит до уникальной идентификации поля (селектор jQuery, ...) Я полностью согласен с вами. Лучше всего использовать CSS, чтобы избежать использования селектора идентификаторов из-за более высокой специфичности. –

ответ

5

Общее правило заключается в использовании идентификаторов, когда это возможно, если они являются уникальными для DOM и не генерируются динамически. Quoting Jim Holmes:

По возможности используйте идентификационные признаки. Если страница действительна HTML, то ID уникальны на странице. Они чрезвычайно быстр для разрешения в каждом браузере, и пользовательский интерфейс может сильно измениться, но ваш скрипт все равно найдет элемент.

Иногда идентификаторы не являются правильным выбором. Динамически сгенерированные идентификаторы: почти всегда неправильный выбор, когда вы работаете с чем-то вроде . Вы полагаетесь на идентификатор, который, скорее всего, привязан к конкретной позиции строки , а затем вы будете ввернуты, если ваша строка изменится.

Кроме того, в общей попытке использовать «ориентированный на данные» подход: by.model, by.binding, by.repeater локаторы, или если вы полагаетесь на имена классов, выбирать их с умом: не использовать макет-ориентированных классов, как .col-xs-4 или .container-fluid.

Смотрите также связанные с этим разделы:

Смежные вопросы