Javascript-解析html字符串使用类X获取每个元素并返回它们的数组

Javascript-解析html字符串使用类X获取每个元素并返回它们的数组,javascript,html,arrays,json,parsing,Javascript,Html,Arrays,Json,Parsing,嗨,我需要使用纯Javascript(无jquery)将大量元素文本内容放入json,然后将它们放入json数组 例如: <li class="asd">1</li> <li class="asd">2</li> <li class="asd">3</li> <li class="asd">4</li> <li class="asd">5</li> <li class="

嗨,我需要使用纯Javascript(无jquery)将大量元素文本内容放入json,然后将它们放入json数组

例如:

<li class="asd">1</li>
<li class="asd">2</li>
<li class="asd">3</li>
<li class="asd">4</li>
<li class="asd">5</li>
<li class="asd">6</li>
<li>no</li>
<li>no</li>
<li>no</li>
<li>no</li>
例如,我通过XHR获取html页面内容,一旦获取html页面字符串,我如何解析它并将带有
class=“asd”
的所有元素放入json数组

这里是我获取html字符串的地方:

    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4) {
            alert(xhr.responseText);
//here i don't know how to parse the html returned :( and put it into a json array
        }
    }
    xhr.open('GET', 'http://site.com/htmlpagecontent.html', true);
    xhr.send(null);

您可以通过创建一个虚拟DOM元素并将html字符串注入该元素来实现这一点。这将创建相应的节点层次结构,您可以使用
getElementsByClassName
对其进行筛选:

var div = document.createElement("div");
div.innerHTML = xhr.responseText;
var nodes = div.getElementsByClassName("asd");
var array = [];
for(var i=0; i<nodes.length; i++) { array.push(nodes[i].innerHTML); }
var div=document.createElement(“div”);
div.innerHTML=xhr.responseText;
var nodes=div.getElementsByClassName(“asd”);
var数组=[];

对于(var i=0;i,您可以通过创建一个虚拟DOM元素并将html字符串注入该元素来实现这一点。这将创建相应的节点层次结构,您可以使用
getElementsByClassName
对其进行筛选:

var div = document.createElement("div");
div.innerHTML = xhr.responseText;
var nodes = div.getElementsByClassName("asd");
var array = [];
for(var i=0; i<nodes.length; i++) { array.push(nodes[i].innerHTML); }
var div=document.createElement(“div”);
div.innerHTML=xhr.responseText;
var nodes=div.getElementsByClassName(“asd”);
var数组=[];
对于(var i=0;i