URL: https://www.progressiverobot.com/js-domparser/

I was playing with the WP Rest API plugin to access content from a WordPress blog into an Ionic 2 app. The WP Rest API returns an HTML string for the content of posts, which can make it hard to deal with. Fortunately though, the <^>DOMParser<^> Web API makes it easy to parse html strings into a fully formed DOM.

First you instantiate a new DOMParser instance and pass it your HTML string using <^>parseFromString()<^>. For this example, let's say that we stored the HTML string in a variable called htmlContent:

				
					
let parser = new DOMParser();

let parsedHtml = parser.parseFromString(htmlContent, 'text/html');

				
			

And now <^>parsedHtml<^> is a DOM object that can be interacted with. Let's extract a few things from it:

				
					
// The src of the first image:

let firstImg = parsedHtml.images[0].src;



// The li elements of the second ul element:

let liElements = parsedHtml.getElementsByTagName("ul")[1].children;



				
			

Taking the second example with <^>li<^> elements, let's go a bit further and populate an array with the inner HTML of each element:

				
					
let rawLiElements = parsedHtml.getElementsByTagName("ul")[1].children;

let liElements = [];





				
			

👉 DOMParser is still experimental, so its implementation is subject to change and support can be limited.