我希望能夠遍歷幾個不同的標籤並根據單選按鈕是否被選中來隱藏它們的內容。這是我想出的解決方案,但我一直在控制檯中發生錯誤。。從循環執行時,隱藏()不是函數錯誤
var hazardOptions = $(".js-hazardous-option");
var hazard = $("input[name=Hazardous]");
for (var i = 0, len = hazard.length; i < len; i++) {
if (hazard[i].id === "HazardousYes" && hazard[i].checked) {
for (var ii = 0, length = hazardOptions.length; ii < length; ii++) {
hazardOptions[ii].show();
}
} else if (hazard[i].id === "HazardousNo" && hazard[i].checked) {
for (var iii = 0, leng = hazardOptions.length; iii < leng; iii++) {
hazardOptions[iii].hide();
}
}
}
我得到的錯誤是:
隱藏()不是一個函數
不知道我很想念,我試過在看看網上的類似的問題,但沒有運氣。我很確定問題出在這裏:hazardOptions[iii].hide();
但是不確定爲什麼和/或如何解決它。
您可以發佈你的HTML?沒有它,很難知道什麼是錯的。 – Nisarg
IIRC通過索引訪問數組對象可以爲您提供DOM元素,而不是JQuery對象。你需要做'$(hazardOptions [iii])。hide();'讓它工作 – musefan
hide()/ show()是JQuery函數。你正試圖將它們應用到Javascript變量。 – yanman1234