Как получить имя префикса из тега html - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть некоторый входной HTML-тег, подобный этому
Вход:

<div fx-prop sc-alias="" fx-type="Organization"><div fx-name="Kirito">SAO <i fx-name="Asuna">World</i></div></div>

Есть ли способы получить атрибут, который содержит префикс схемы fx- это тег со схемой из этого входа

Что я хочу сделать, это получить вывод, подобный этому
Вывод:

[
  {"prop":"", alias:"", "type":"Organization"},
  [
    {"name":"Kirito"},
    [
      {"name":"Asuna"}
    ]
  ]
]

Решение, возможно, с использованием php или javascript, но я до сих пор не получил ответ

1 Ответ

0 голосов
/ 11 декабря 2018

Если вы знаете имена атрибутов, вы можете использовать метод Element.getAttribute () в сочетании с Element.attributes:

const elt = document.getElementsByTagName('div')[0];

const func = elt => {
  let res=[{}];
  for (let i=0; i<elt.attributes.length; i++) {
    let attrName = elt.attributes[i].name;
    if (attrName.substring(0,2)=='fx') {
      res[0][attrName.substring(3)] = elt.getAttribute(attrName);
    }
  }
  for (let i=0; i<elt.children.length; i++) {
    res.push(func(elt.children[i]));
  }
  return res;
}

console.log(func(elt));
<div fx-prop sc-alias="" fx-type="Organization">
  <div fx-name="Kirito">
    SAO
    <i fx-name="Asuna">
      World
    </i>
  </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...