Чем плохи кастомные атрибуты

119
19 июня 2021, 21:40

Слышал о том, что кастомные атрибуты это не есть хорошо.

По этому часто использую связку data-кастомный атрибут, но я ни разу не натыкался на достоверность слов выше.
Из личного опыта знаю только то, что кастомный не пройдёт валидацию и всё.

К каким проблемам могут привести кастомные атрибуты?

Answer 1

Если на одной маленькой страничке использовать свои атрибуты - в этом наверно нет ничего страшного. А представьте, что у вас огромный проект, используете везде свои атрибуты, а через годик - оппа, ввели новый HTML атрибут, и он совпадает с вашим) Такое маловероятно, но чтобы избежать этих случаев, захочется добавить свой неповторимый "префикс" из серии myAttr007-class="..." myAttr007-bubu="..." вместо таких заморочек, в стандарте уже есть готовый data-

К тому же, если есть условный data-bubu="100500" то в JavaScript его можно достать и менять значение и́ через elem.dataset.bubu, и́ elem.getAttribute / setAttribute. А изменение атрибута - синхронно меняет и свойство dataset (и наоборот). Можно использовать то, что удобнее. А в случае с личными атрибутами, есть отдельное свойство с этим названием, и отдельный атрибут... они не зависят друг от друга, что не удобно:

let bubu = document.getElementById('bubu'); 
 
console.log(bubu.bubufication); // undefined 
 
bubu.bubufication = 100500; 
console.log(bubu.bubufication); 
 
console.log(bubu.getAttribute('bubufication')); // 1
<div id="bubu" bubufication="1">test</div>

P.s. не проходят валидацию на w3.org

READ ALSO
Есть ли смысл в обфускация html и css?

Есть ли смысл в обфускация html и css?

Нарпимер если сделать обфускацию js то есть шанс,найти хороший обфускаторый который на данный момент времени не могут расшифроватьА как быть...

86
Как правильно разнести Событие по разным файлам?

Как правильно разнести Событие по разным файлам?

Есть статический Класс который выполняет определенный набор действий и информирует через события о ходе свой работы тех кто подписан на негоЭтот...

134
Binding, создание listBox для Log записей

Binding, создание listBox для Log записей

Пытался сделать ListBox для Log записей в программе

112
Как создать вложенный цикл

Как создать вложенный цикл

Добры день, имею такой код:

104