@artmirarmi

Как получить все элементы атрибуты которых начинаются с определенного имени?

Как с помощью javascript получить все элементы атрибуты которых начинаются с определенного имени? Например есть несколько параграфов
<p bind:class="p">Hello world!</p>
<p bind:class="a">Goodbuy world!</p>
<p class="v">Hello programmer!</p>


Из всех этих элементов надо получить только первые два, атрибут которых начинается с bind:
Как это сделать?
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
О какие элементах и атрибутах идёт речь:

const elements = document.querySelectorAll('p');
const attrNamePrefix = 'bind:';

Как из общего набора элементов отобрать нужные:

const result = Array.prototype.filter.call(
  elements,
  n => Array.prototype.some.call(
    n.attributes,
    m => m.name.startsWith(attrNamePrefix)
  )
);

или

const result = [];

for (const n of elements) {
  for (const m of n.attributes) {
    if (m.name.indexOf(attrNamePrefix) === 0) {
      result.push(n);
      break;
    }
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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