Объект DOMParser
можно использовать для анализа строки HTML и преобразования ее в объект документа, которым можно манипулировать с помощью DOM API. Вот пример того, как использовать его для анализа строки HTML:
// Create a new DOMParser object var parser = new DOMParser(); // Parse an HTML string var htmlString = "<html><body><h1>Hello World!</h1></body></html>"; var doc = parser.parseFromString(htmlString, "text/html"); // Get the first h1 element var h1 = doc.querySelector("h1"); console.log(h1.textContent); // Output: "Hello World!"
Вы можете использовать методы querySelector
и querySelectorAll
для выбора элементов из проанализированного HTML и свойство textContent
для получения текстового содержимого элемента.
Вот пример расширенного использования, когда вы можете проанализировать строку html и использовать ее для обновления содержимого определенного элемента на текущей странице.
// create a parser var parser = new DOMParser(); // parse the string var htmlString = "<p>This is some new content.</p>"; var doc = parser.parseFromString(htmlString, "text/html"); // get the element you want to update var target = document.querySelector("#target"); // update the element target.innerHTML = doc.body.innerHTML;
Вы также можете использовать DOMParser для анализа строк XML аналогичным образом, передав «text/xml» в качестве второго аргумента методу parseFromString
.
Пример 1:
// parse an HTML string and get all the links var htmlString = "<html><body><a href='https://example.com'>Example</a></body></html>"; var doc = new DOMParser().parseFromString(htmlString, "text/html"); var links = doc.querySelectorAll("a"); console.log(links[0].href); // Output: "https://example.com"
Пример 2:
// parse an XML string and get the value of a specific attribute var xmlString = "<root><element attribute='value'></element></root>"; var doc = new DOMParser().parseFromString(xmlString, "text/xml"); var element = doc.querySelector("element"); console.log(element.getAttribute("attribute")); // Output: "value"
Пример 3:
// parsing an HTML string and adding an element to the parsed document var htmlString = "<html><body></body></html>"; var doc = new DOMParser().parseFromString(htmlString, "text/html"); var newElement = doc.createElement("div"); newElement.innerHTML = "This is a new element"; doc.body.appendChild(newElement); console.log(doc.body.innerHTML); // Output: "<div>This is a new element</div>"
Стоит отметить, что DOMParser API поддерживается не во всех браузерах, поэтому вы можете включить обнаружение функций или запасной вариант для старых браузеров.
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .
Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.