Javascript-解析html字符串使用类X获取每个元素并返回它们的数组
嗨,我需要使用纯Javascript(无jquery)将大量元素文本内容放入json,然后将它们放入json数组 例如: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="
<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