SECTION - это просто тег HTML5.Поскольку HTML5 является относительно новым, многие разработчики используют его ненадлежащим образом, или вы увидите только части проекта, обновленные для использования новых тегов, в то время как остальные продолжают использовать теги DIV.Код, который вы предоставили и который использует SECTION, по-видимому, использует его в нужном месте и контексте, просто чтобы дать вам представление.
Ознакомьтесь с этой краткой статьей о теге SECTION и о том, когда его использовать,Не поймите, что SECTION - это просто причудливое название для DIV: http://www.impressivewebs.com/html5-section/
Кроме того, вам не помешает проверить спецификации: http://w3c.github.io/html/sections.html#the-section-element
Краткий ответ на ваш вопростем не менее, практического различия нет - тег SECTION будет вести себя точно так же, как тег DIV, с точки зрения того, как CSS влияет на него и как вы работаете с ним из JavaScript.Реальное различие заключается в том, как теги интерпретируются при создании структуры документа, например, с помощью программы чтения каналов.
Атрибуты data-*
являются новым добавлением HTML5 ( article )которые позволяют связывать произвольные данные с элементом HTML.Данные в атрибутах могут быть использованы javascript для реализации таких функций, как всплывающие подсказки или данные геолокации.Раньше такие данные включали скрытые дочерние элементы или данные JSON, или новый AJAX-запрос для получения таких данных с сервера.Теперь javascript может просто читать эти атрибуты данных, чтобы получить связанные данные о данном элементе.Я не уверен, как именно ваш конкретный скрипт использует атрибут data-role
, но не имеет значения, находится ли этот атрибут в DIV, SECTION, IMG или SPAN, если в спецификации есть.