Получить все производные HTMLElement в JavaScript

#javascript #dom

#javascript #dom

Вопрос:

Я хочу составить обновленный список всех возможных элементов html. Как я знаю, все элементы являются производными от собственного интерфейса HTMLElement браузера. Мой вопрос в том, как я могу запросить производные элементы этого интерфейса, такие как HTMLParagraphElement и т.д…

Ответ №1:

Я хочу составить обновленный список всех возможных элементов html.

Затем прочитайте спецификацию.

Хотя вы можете перебрать все глобальные функции и протестировать их цепочки прототипов, это подскажет вам, для чего этот конкретный браузер имеет явную поддержку, включая элементы, которых больше нет в HTML, и не включая новые, которые браузер еще не добавил.

 const element_creating_functions =
  Object.getOwnPropertyNames(window).filter(name => {
    try {
      const func = window[name];
      if (typeof func !== "function") {
        return false;
      }
      return window.HTMLElement.isPrototypeOf(func);
    } catch (e) {
      // Some functions are sandboxed on Stacksnippets
      return false;
    }
  }).sort();;
console.log(element_creating_functions);