Селекторы 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???
Большое спасибо
Ответы
Ответ 1
Атрибут data-
для сопоставления данных jQuery() является однонаправленным. Вы должны использовать функцию attr(), если вы хотите фактически установить атрибут на node.
$("#mich").attr("data-people", "australian");
Из docs:
Атрибуты данных вытаскиваются при первом доступе к свойствам данных, а затем больше не доступны или не изменяются (все значения данных затем сохраняются внутри jQuery)