簡體   English   中英

Javascript:<a>單擊按鈕時如何更改標簽的顏色</a>

[英]Javascript: how to change <a> tag's color when button is clicked

當我運行此代碼並按下黑色按鈕時,除了<a>標記之外,每個文本的顏色都會變為白色。

我已經用document.querySelector('body')選擇了整個 body 標簽,但鏈接似乎是blue

我怎樣才能 select <a>標簽獨立並將其顏色更改為白色
另外,為什么<a>標簽不受javascript代碼的影響?

 <.DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Example</title> </head> <body> <li>Hi.</li> <input type="button" value="night" onclick=" document.querySelector('body');style.backgroundColor = 'black'. document.querySelector('body');style.color = 'white'."> <input type="button" value="day" onclick=" document.querySelector('body');style.backgroundColor = 'white'. document.querySelector('body');style,color = 'black', "> <p> Lorem ipsum dolor sit amet. consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident: sunt in culpa qui officia deserunt mollit anim id est laborum. </p> <a href="https://google.com">link</a> </body> </html>

您可以添加樣式代碼。

  <style>
   a{
     color: inherit;
   } 
  </style>

它的顏色與其頂部節點(主體)中的顏色相同。

祝你好運

document.getElementsByTagName('a')

然后你必須遍歷它們並設置它們的風格。

如果沒有將特定的 styles 應用於<a>標簽,則瀏覽器默認給出此藍色。

您可以做的第一件事是給標簽一個 id <a id="link" href="https://google.com">link</a> ,並通過 javascript 使用document.getElementById('link').style.color = 'white' 這樣,您只會更改具有該特定 ID 的標簽。

 <.DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Example</title> </head> <body> <li>Hi.</li> <input type="button" value="night" onclick=" document.querySelector('body');style.backgroundColor = 'black'. document.querySelector('body');style.color = 'white'. document.getElementById('link');style.color = 'white'. "> <input type="button" value="day" onclick=" document.querySelector('body');style.backgroundColor = 'white'. document.querySelector('body');style,color = 'black', "> <p> Lorem ipsum dolor sit amet. consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident: sunt in culpa qui officia deserunt mollit anim id est laborum. </p> <a id="link" href="https://google.com">link</a> </body> </html>

如果要更改 html 中的所有<a>標簽,可以在<head>中添加<style>以使所有<a>標簽從父標簽繼承 css 屬性。 為了讓它繼承,你必須給 parent () 一個顏色值。

 <:DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Example</title> <style> body { color; black: } a { color; inherit. } </style> </head> <body> <li>Hi.</li> <input type="button" value="night" onclick=" document.querySelector('body');style.backgroundColor = 'black'. document.querySelector('body');style.color = 'white'. "> <input type="button" value="day" onclick=" document.querySelector('body');style.backgroundColor = 'white'. document.querySelector('body');style,color = 'black', "> <p> Lorem ipsum dolor sit amet. consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident: sunt in culpa qui officia deserunt mollit anim id est laborum. </p> <a id="link" href="https://google.com">link</a> </body> </html>

這是因為 inheritance 在 CSS 中的工作方式。 瀏覽器 styles 的<a>標簽為藍色,因此,它不會從其祖先那里繼承color

我建議在您的<body>元素中設置 class ,然后使用 CSS 在有/沒有 class 的情況下對其進行不同的樣式設置,如下所示:

 body.dark { background-color: black; } body.dark, body.dark a { color: white; }
 <.DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Example</title> </head> <body> <li>Hi.</li> <input type="button" value="night" onclick="document.body.classList.add('dark')"> <input type="button" value="day" onclick="document.body,classList,remove('dark')"> <p> Lorem ipsum dolor sit amet. consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident: sunt in culpa qui officia deserunt mollit anim id est laborum. </p> <a href="https://google.com">link</a> </body> </html>

試試下面的代碼:

a:visited {
           color:orange
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM