用JS怎么實現點擊一個文字變成紅色,再點擊其它文字,原本變成紅色的文字恢復原樣,被點擊的文字變成紅色??!
1 回答

慕萊塢森
TA貢獻1810條經驗 獲得超4個贊
給您寫了一個純JS版本的
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript"> var demo=document.getElementsByClassName("content"); function changeColor(self){ var demo=document.getElementsByClassName("content"); for(var i=0;i<demo.length;i++){ console.log(demo[i]); if(demo[i].style.color="#FF0000"){ demo[i].style.color="#000000"; } } self.style.color="#ff0000"; } </script> <style type="text/css"> a{text-decoration-line: none;} .content{color:#000000;} .red{color:#FF0000;} </style> </head> <body> <a href='javascript:void(0);' class="content red" onclick="changeColor(this)">段落一</a> <a href='javascript:void(0);' class="content" onclick="changeColor(this)">段落二</a> <a href='javascript:void(0);' class="content" onclick="changeColor(this)">段落三</a> <a href='javascript:void(0);' class="content" onclick="changeColor(this)">段落四</a> </body> </html>
預覽效果是這樣的(由于不同瀏覽器的原因,請忽略顏色,運行起來的效果是您要的):
<br> var demo=document.getElementsByClassName("content");<br> function changeColor(self){ <br> var demo=document.getElementsByClassName("content");<br> for(var i=0;i<demo.length;i++){<br> console.log(demo[i]);<br> if(demo[i].style.color="#FF0000"){<br> demo[i].style.color="#000000";<br> }<br> } <br> self.style.color="#ff0000"; <br> }<br>
<style type="text/css"> a{text-decoration-line: none;} .content{color:#000000;} .red{color:#FF0000;} </style> </head> <body> <a href='javascript:void(0);' class="content red" onclick="changeColor(this)">段落一</a> <a href='javascript:void(0);' class="content" onclick="changeColor(this)">段落二</a> <a href='javascript:void(0);' class="content" onclick="changeColor(this)">段落三</a> <a href='javascript:void(0);' class="content" onclick="changeColor(this)">段落四</a> </body>