2

こんにちは、純粋な 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>

私は返す必要があります:

{[1,2,3,4,5,6]}

たとえば、HTML ページの文字列を取得したら、XHR を介して 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);
4

1 に答える 1

4

これを行うには、ダミーの 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); }
于 2013-09-28T15:34:22.567 に答える