js中hover無效怎麼解決
css
hover
javascript
導致
屬性
無效
添加
這其實是css的優先順序所導致的。
首先來看下不用js加入css屬性,hover能正常設定背景顏色。
<div id="add"></div>
登入後複製
#add{ width: 50px; height: 50px; background-color: greenyellow; }#add:hover{ background-color: #000; }
登入後複製
#左邊的圖是預設情況下,右邊是滑鼠放上去的時候,現在是hover還是能正常顯示的。
(下面的圖都是左邊默認,右邊hover,應為截圖工具不能把滑鼠也截上來)
但是如果透過js插入css樣式的話,滑鼠放上去的hover樣式就不會生效了。
var add = document.getElementById("add"); add.style.backgroundColor = "red";
登入後複製
現在hover裡設定的#000屬性已經失效了。
但這並不是hover偽類失去的作用,如果設定不是js添加的樣式,就能看出hover並沒有失效,例如加入字體顏色試一下。
#add:hover{ background-color: #000; color: yellow; }
登入後複製
可以看到字體顏色還是會改變的。
原因是應為js添加css樣式是直接在html標籤的style上添加的,而style的優先權高於css偽類。
從上到下style,hover,id選擇器。
可以在瀏覽器偵錯工具裡看到,js是直接加到style裡的。
那麼該怎麼辦呢
裡邊講了選擇器的優先權。但是並沒有講到css偽類和style的優先權。
但是:hover偽類別也失效了。說明style>css偽類>id>class。
給:hover的屬性後面加上!important就可以了。應為!important優先級高於一切! !
!important>style>css偽類>id>class。
#add:hover{ background-color: #000 !important; }
登入後複製
現在終於達到想要的結果了。
以上是js中hover無效怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)