在我的應(yīng)用程序中,打開(kāi)深色模式功能后,我希望將一些圖像更改為其他圖像。但當(dāng)圖像由兩張圖片組成時(shí),這種情況就不會(huì)發(fā)生,然后此后的其余圖像也不會(huì)發(fā)生變化,這是清楚描述問(wèn)題的圖像。這是 PHP 和 javascript 代碼: <?php } else if ($rating_avg > 4.75 && $rating_avg < 6) { ?> <form class="star-form" action="star_frame.php?post_id=<?= $post_id ?>" method="POST"> <div class='stars_avg_div' align='center'> <i class='star1' id='star1' style='width:20px; height:20px; '><img class='star1img' src='starou.png' style='width:20px; height:20px;background-color:gold; '></i> <i class='star2' id='star2' style='width:20px; height:20px; '><img class='star2img' src='starou.png' style='width:20px; height:20px;background-color:gold;'></i> <i class='star3' id='star3' style='width:20px; height:20px; '><img class='star3img' src='starou.png' style='width:20px; height:20px;background-color:gold;'></i> <i class='star4' id='star4' style='width:20px; height:20px; '><img class='star4img' src='starou.png' style='width:20px; height:20px;background-color:gold;'></i> <i class='star5' id='star5' style='width:20px; height:20px; '><img class='star5img' src='starou.png' style='width:20px; height:20px;background-color:gold;'></i> </div> </form> <?php } ?> function darkmode() { $('*').addClass('dark'); $('avg_iframe').addClass('dark'); }頁(yè)面加載時(shí),控制臺(tái)面板顯示錯(cuò)誤“TypeError:document.getElementsByClassName(...)[0] 未定義 star_avg_frame.php:88:22(參考最后幾行代碼)”我也嘗試過(guò)getElementsByIdName,getElementsByClassName但不是這樣。您知道為什么會(huì)發(fā)生圖像上顯示的情況嗎?我必須補(bǔ)充一點(diǎn),如果沒(méi)有“半星”,一切都會(huì)很好。在此先感謝您的幫助!
1 回答

呼喚遠(yuǎn)方
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
您可以使用querySelector(".star1img")
代替getElementsByClassName
,并獲得第一個(gè)元素class="star1img"
這document.getElementById("half_star_1")[0].src = "starou_half_1_dark.png"
沒(méi)有任何意義,因?yàn)?code>getElementById你得到的是 1 個(gè)元素,而不是數(shù)組。所以你不需要在它后面使用[0]。另外,頁(yè)面上沒(méi)有具有此 id 的元素
- 1 回答
- 0 關(guān)注
- 135 瀏覽
添加回答
舉報(bào)
0/150
提交
取消