ajax、jsp、サーブレット呼び出しを使用して、特定の要素の背景色を動的に更新しようとしています。私は自分のjs関数と私のサーブレットとコンソールログのスクリーンショットも含めました。コードはすべての行を実行していますが、フロントエンドでは何も変わりません。本当に助けに感謝!私もbgの変更を処理する別のJS関数を作成しようとしましたが、それはまったく役に立たなかった。私のブラウザで同じクラスのすべてのhtml要素の背景色が動的に変化する
<script>
function validate() {
console.log("hello");
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "/"+window.location.pathname.split("/")[1]+"/HomeServlet?inputName=" + document.searchform.search.value, false);
xhttp.send();
if (xhttp.responseText.trim().length > 0) {
console.log("in if statement " + xhttp.responseText);
var str = xhttp.responseText;
var result = str.split(" ");
console.log("str " + str + " - result: " + result + " result size = " + result.length);
for(var i = 0; i < result.length; i++) {
console.log("in first loop");
console.log("value:" + result[i]);
elements = document.getElementsByClassName(result[i]);
console.log("elements: " + elements.length);
for (var j = 0; j < elements.length; j++) {
console.log("in the loop");
//elements[j].style.backgroundColor = "red";
changeBg(elements[j]);
}
}
//return false;
}
return true;
}
function changeBg(element) {
alert(window.getComputedStyle(element).backgroundColor);
element.style.color = "red";
}
</script>
、私のコンソールは、次のコードは、すべての行を実行していることを証明読み、私は両方を試してみたので、まだelement.style.colorかのbackgroundColorを変更しない警告ボックスを出力する含まれていました。
changeBg()の* background *カラー 'element.style.backgroundColor'ではなく* text *カラー(' element.style.color')を変更しています。 – FluffyKitten