2015-11-02 3 views
0

Мне интересно, можно ли получить все существующие теги html (body, head, div, ul и т. Д.) С помощью javascript. По всем существующим я не имею в виду все на странице, но все они действительны. Есть ли функция, которая это делает?Получить все существующие теги html с javascript

Также, если нет - это где-то в файлах Firefox или Chrome?

+0

Вы имеете в виду все теги на странице или все теги, которые считаются допустимыми HTML? У Mozilla есть хорошая ссылка: https://developer.mozilla.org/en-US/docs/Web/HTML/Element – Katana314

+0

все имена тегов, которые считаются допустимыми HTML. Я также имел в виду, если его возможно офлайн, без подключения –

+0

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

ответ

0

Вы можете написать функцию, которая извлекает все дочерние элементы элемента <html>. Это позволит вам получить все элементы html на странице.

function getAllChildElements (start) { 
    var children = start.childNodes; 
    var elements = children; 

    for (var i = 0; i < children.length; i++) { 
     elements.concat(getAllChildElements(children[i]); 
    } 

    return elements; 
} 

var all_elements = getAllChildElements(document.querySelector('html')); 
+0

Я не хочу получать теги страницы, я хочу получить все элементы, которые существуют в языке html. –

+0

Зачем вам это нужно? Просто дайте объяснение. –

+0

Аах мой плохой. Вы могли бы быть более конкретным в своем вопросе, жестко. Я оставлю этот ответ здесь, на всякий случай, если кто-то хочет этого добиться. –

1

если вы хотите все теги этого нужно сделать:

document.querySelectorAll("*"); 

если вы хотите HTML ребенка теги:

document.querySelector("html").children; 
+0

getElementsByTagName может быть быстрее vs querySelectorAll – smcd

+0

Я имел в виду, если бы его можно было получить все существующие теги в HTML-языке, а не на странице. –

0

Different подход не имеет доступа к DOM, так как я до сих пор не убедитесь, что цель: Возьмите документ в виде строки и найдите «<» и «>» с регулярным выражением? Должен ли я подробно остановиться на этом?

+0

Это не то, что я имею в виду. Я хочу получить все существующие и действительные (которые я могу использовать) теги в HTML-языке, а не на странице. Целью является, например, если у меня нет подключения к интернету и вы хотите узнать некоторые html, но я не могу получить доступ к онлайновым документам, и я не загружал их. –

+0

Вы можете открыть Инструменты разработчика в Chrome и посмотреть все в DOM. Вы даже можете запускать javascript на консоли и манипулировать ими или редактировать их напрямую. На Mac это ярлык alt + cmd + I. Или просмотрите меню. –

+0

И если вы хотите, чтобы он был в автономном режиме, попробуйте книгу. :) –

Смежные вопросы