2

ここで明らかに出血している何かが欠けていると思うので、助けていただければ幸いです。前もって感謝します。

次のコードがありますが、実行すると壊れて、queryString が定義されていないため、.textContent を queryString に適用できないと表示されます。

しかし、私が投げかけているのは、この行の直前でコードを壊して queryString を見ると、正しい値が格納されているということです".titlearea .pagetitle"。これが後続の行で翻訳されないのはなぜですか?

JSON オブジェクトは、使用したい 2 つのプロパティを返すオブジェクトに変換されます。と呼ばれるプロパティとtermNameと呼ばれる別のプロパティdefinition。2 つの HTML 要素の textContent をこれらのパラメーターの値に置き換えたいと考えています。

と の値を という配列に格納しtermNameましdefinitoncontent。これをfor...inループで行います。

次に、この配列をループして、関連する HTML 要素を配列の関連する値に置き換えますcontent。これが 2 番目のforループです。

私は基本的に行が次のように解釈されることを望みます:

document.querySelector(".titlearea.pagetitle").textContent = xxxx;

xxxx はqueryResult[i]値です。

これが完全なコードです。

var searchTerm = JSON.parse(Result.responseText);
var DefDiv = ".titlearea .pagetitle";
var DescDiv = ".titlearea .pagesubtitle";
var holder = [DefDiv, DescDiv];
var content = [];
var x;

// Push the query into an array
for (x in searchTerm.terms[0].term) {
    content.push(x);
}

var displayResult = function(queryResult) {

    for (var i = 0; i <= holder.length; i++) {
        var queryString = holder[i];

        document.querySelector(queryString).textContent = queryResult[i];
    }
};

displayResult(content);
4

1 に答える 1