Правильный способ идентифицировать статические ячейки в XCode?

Наличие двух элементов с одинаковым идентификатором недопустимо html в соответствии со спецификацией W3C.

Когда ваш селектор CSS имеет только селектор ID (и не используется в определенном контексте), jQuery использует native document.getElementById, который возвращает только первый элемент с этим идентификатором.

Однако в двух других случаях jQuery полагается на механизм выбора Sizzle (или querySelectorAll, если он доступен), что, по-видимому, выбирает оба элемента. Результаты могут различаться в зависимости от браузера.

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


Если вы абсолютно должны выбрать дублирующийся идентификатор, используйте селектор атрибутов:

$('[id="a"]');

Взгляните на скрипке: http://jsfiddle.net/P2j3f/2/

Примечание: если это возможно, вы должны квалифицировать этот селектор с помощью селектора тегов, например:

$('span[id="a"]');

1
задан piet.t 20 March 2019 в 07:26
поделиться

1 ответ

Если у вас есть статические ячейки (то есть небольшой фиксированный набор статических ячеек, а не динамические ячейки с прототипами ячеек, где вы контролируете, сколько типов ячеек будет динамически генерироваться), вам не следует реализовывать какие-либо UITableViewDataSource методы. Просто создайте IBOutlet ссылки для различных элементов управления, которые есть в ваших статических ячейках, и обновите их, как если бы вы вообще не использовали UITableView.


Кроме того, если бы вы использовали динамические ячейки, вы бы никогда не дали двум разным прототипам ячеек один и тот же идентификатор повторного использования. Цель идентификатора повторного использования состоит в том, чтобы сообщить ему, какой прототип ячейки использовать, и поэтому не имеет смысла давать нескольким прототипам ячеек один и тот же идентификатор.

0
ответ дан Rob 20 March 2019 в 07:26
поделиться
Другие вопросы по тегам:

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