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

Селекторы jQuery и данные HTML5 - * атрибуты, установленные динамически

У меня это работает:

  <div data-people="australian">Australian people eats...</div>

  <script type="text/javascript">
    alert($("[data-people=australian]").html());
  </script>

Но это другое не работает, и я не знаю, как его решить:

  <div id="mich">Australian people eats...</div>

  <script type="text/javascript">
    $("#mich").data("people", "australian");

    alert($("[data-people=australian]").html());
  </script>

Почему я не могу установить атрибуты data- * HTML5 из ​​jQuery и использовать их для выбора объекта DOM???

Большое спасибо

4b9b3361

Ответ 1

Атрибут data- для сопоставления данных jQuery() является однонаправленным. Вы должны использовать функцию attr(), если вы хотите фактически установить атрибут на node.

$("#mich").attr("data-people", "australian");

Из docs:

Атрибуты данных вытаскиваются при первом доступе к свойствам данных, а затем больше не доступны или не изменяются (все значения данных затем сохраняются внутри jQuery)