Используя хранилище данных jQuery по сравнению с expando свойствами

Кроме того zfill, можно использовать общее строковое форматирование:

print(f'{number:05d}') # (since Python 3.6), or
print('{:05d}'.format(number)) # or
print('{0:05d}'.format(number)) # or (explicit 0th positional arg. selection)
print('{n:05d}'.format(n=number)) # or (explicit `n` keyword arg. selection)
print(format(number, '05d'))

Документация для строка, форматирующая и струны фа .

17
задан James A Mohler 7 June 2019 в 19:31
поделиться

2 ответа

Если вы создаете плагин, вы должны использовать $. Data . Если вам нужно хранить атрибут часто и редко нужно запрашивать его в DOM, используйте $. Data .

Сказав, что для всех моих клиентских приложений я склонен хранить настраиваемые атрибуты DOM в DOM сами элементы, так что я могу запросить их позже с помощью селектора атрибута [] :

var domElement = $('.interesting-line[lineNumber=' + lineNumber + ']').get(0);

Это гораздо более читабельно, чем повторение обернутого набора, вызывающего .data () для каждого элемента. Часто я взаимодействую с другой сторонней библиотекой, которая работает с элементом DOM, поэтому быстрый и легкий доступ к элементу DOM через этот механизм сохраняет код читаемым.

Это так же просто, как сохранить отображение таблицы поиска lineNumbers к элементам,

Обновление 5 лет спустя Просто прочтите это после того, как он получил [заслуженный] голос против: пожалуйста, не обращайте внимания на зачеркнутый текст выше. jQuery не запрашивает DOM на основе набора свойств expando, и какое-то время этого не делал. Поэтому используйте $. Data . Нет причин загрязнять DOM, если это не имеет практического смысла.

13
ответ дан 30 November 2019 в 11:52
поделиться

Использование $. Data не изменяет DOM. Вы должны использовать $. Data . Если вы создаете плагин, вам следует сохранить один объект в $. Data со свойствами этого объекта, а не хранить каждое из этих свойств как разные пары ключ / значение в $. Data структура.

2
ответ дан 30 November 2019 в 11:52
поделиться
Другие вопросы по тегам:

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