我試圖使用ajax,jsp和servlet調用動態更新某些元素的背景顏色。我已經包含了我的js函數以及我的servlet和控制檯日誌的截圖。代碼正在運行所有的行,但前端沒有任何變化。真的很感謝幫助!我也嘗試製作另一個JS函數來處理bg的變化,但這根本沒有幫助。動態更改所有具有相同類別的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()中更改* text * color('element.style.color')而不是* background * color'element.style.backgroundColor'。 – FluffyKitten