Получить все атрибуты через запятую
Добрый день. Есть разметка:
<div class="selectize-input">
<div data-value="7" class="item">запись</div>
<div data-value="5" class="item">контент</div>
<div data-value="4" class="item">дабл тег</div>
</div>
Как разом получить следующую запись: 7, 5, 4 ??? Количество элементов откуда нужно получить data-value - неизвестно. Спасибо И еще.. весь это блок создается динамически.. |
Янковиц,
код в строке 12 запустить после создания блока
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script>
window.addEventListener('DOMContentLoaded', function() {
var data = [].map.call( document.querySelectorAll('[data-value]'), function(el) {
return +el.dataset.value
});
alert(data);
});
</script>
</head>
<body>
<div class="selectize-input">
<div data-value="7" class="item">запись</div>
<div data-value="5" class="item">контент</div>
<div data-value="4" class="item">дабл тег</div>
</div>
</body>
</html>
|
Спасибо. А можно на jQuery?
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var data = $.map($("[data-value]"), function(el) {
return $(el).data("value")
});
alert(data);
});
</script>
</head>
<body>
<div class="selectize-input">
<div data-value="7" class="item">запись</div>
<div data-value="5" class="item">контент</div>
<div data-value="4" class="item">дабл тег</div>
</div>
</body>
</html>
|
Спасибо еще раз. У меня по соседству есть такой же блок с пунктами. Приведенный скрипт выводит все data-value из соседнего. Как конкретизировать div?
|
$(function() {
var data = $.map($(".selectize-input [data-value]"), function(el) {
return $(el).data("value")
});
alert(data);
});
|
Почему-то пишет ошибку:
TypeError: $(...).data is not a function |
Янковиц,
jQuery какая версия? хотя дело скорее не в версии, либо ошибки в коде, либо нет jQuery |
| Часовой пояс GMT +3, время: 17:41. |