Подтвердить что ты не робот

В чем разница между тегом div и тегом для страниц в jQuery mobile

Я видел как div и section в data-role="page". Например

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<p>This content will be ignored.</p>
<!-- Begin Page 4 -->
<section id="page4" data-role="page">
<header data-role="header"><h1>jQuery Mobile</h1></header>
<div class="content" data-role="content">
<p>External Page!</p>
<p><a href="#page1">Go to First Page</a>.</p>
</div>
<footer data-role="footer"><h1>O'Reilly</h1></footer>
</section>
<!-- End Page 4-->
<h3>This content will be ignored as well.</h3>
</body>
</html>

и

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Intro to jQuery Mobile</title>
        <link rel="stylesheet" href="#" onclick="location.href='http://code.jquery.com/mobile
/1.0a2/jquery.mobile-1.0a2.min.css'; return false;" />
        <script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.0a2
/jquery.mobile-1.0a2.min.js"></script>
    </head>
    <body>

        <div data-role="page">

            <div data-role="header">
               <h1>Facebook Friends</h1>
            </div><!-- /header -->

            <div data-role="content">

            </div><!-- /content -->

            <div data-role="footer">
            </div><!-- /footer -->
        </div><!-- /page -->

    </body>
</html>

В чем разница и что используется section? Будет ли он предотвращать загрузку содержимого, когда он не отображается?

4b9b3361

Ответ 1

РАЗДЕЛ это просто тег 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 (статья), которое позволяет связывать произвольные данные с элементом HTML. Данные в атрибутах могут быть использованы javascript для реализации таких функций, как всплывающие подсказки или данные геолокации. Раньше такие данные включали скрытые дочерние элементы или данные JSON, или новый AJAX-запрос для получения таких данных с сервера. Теперь javascript может просто читать эти атрибуты данных, чтобы получить связанные данные о данном элементе. Я не уверен, как именно ваш конкретный скрипт использует data-role, но не имеет значения, находится ли этот атрибут в DIV, SECTION, IMG или SPAN, поскольку спецификация идет.