Как перебрать все атрибуты элементов?

Нужен селектор по части имени атрибута и перебор всех атрибутов по маске имени. Есть способ сделать?

Пример:

<div
    shop-barcode="78556456456"
    shop-article="art.1236"
    shop-id="1457"
    class="product">
    блаблабла
</div>

Вот есть такой примерно html.
Как выбрать все элементы имеющие атрибут shop-чтонибудь и перебрать все его атрибуты shop-чтонибудь?

В смысле как это сделать не "в лоб"?
  • Вопрос задан
  • 3352 просмотра
Пригласить эксперта
Ответы на вопрос 2
mannaro
@mannaro Куратор тега JavaScript
Умею профессионально гуглить
Просто найди тот атрибут, который присутствует везде. Например, shop-id.
Ну а потом перебором.
Ответ написан
Комментировать
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
В спецификации HTML5 нельзя давать какие угодно имена аттрибутам. Если это Ваши пользовательские аттрибуты, они должны начинаться с «data-».

Выборку по элементам, содержащим аттрибуты, которые начинаются с «data-shop» можно сделать так:
$('*').filter(function(){
			for(var property in $(this).data()){
				if(property.indexOf('shop') == 0){
					return true;
				}
			}
			return false;
		})


Рабочий пример лежит тут.

P. S.: Ну а перебрать все остальные аттрибуты внутри каждого найденного элемента не составит труда.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы