• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

    JavaScript改變CSS樣式的方法匯總_javascript技巧

    來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 21:38:03
    文檔

    JavaScript改變CSS樣式的方法匯總_javascript技巧

    JavaScript改變CSS樣式的方法匯總_javascript技巧:JavaScript允許你即時(shí)的改變CSS樣式,這樣就可以將用戶的眼球吸引到你想他們關(guān)注的地方上,并且提供較好的交互體驗(yàn)給力 。 JavaScript修改CSS有4種方法: 修改節(jié)點(diǎn)style(內(nèi)聯(lián)樣式); 改變節(jié)點(diǎn)class或id; 寫入新的css; 替換頁面中的樣式表。 個(gè)人不建
    推薦度:
    導(dǎo)讀JavaScript改變CSS樣式的方法匯總_javascript技巧:JavaScript允許你即時(shí)的改變CSS樣式,這樣就可以將用戶的眼球吸引到你想他們關(guān)注的地方上,并且提供較好的交互體驗(yàn)給力 。 JavaScript修改CSS有4種方法: 修改節(jié)點(diǎn)style(內(nèi)聯(lián)樣式); 改變節(jié)點(diǎn)class或id; 寫入新的css; 替換頁面中的樣式表。 個(gè)人不建

    JavaScript允許你即時(shí)的改變CSS樣式,這樣就可以將用戶的眼球吸引到你想他們關(guān)注的地方上,并且提供較好的交互體驗(yàn)給力 。

    JavaScript修改CSS有4種方法:

    修改節(jié)點(diǎn)style(內(nèi)聯(lián)樣式);
    改變節(jié)點(diǎn)class或id;
    寫入新的css;
    替換頁面中的樣式表。

    個(gè)人不建議使用后兩種方法,幾乎所有的功能都可以通過前兩種方式實(shí)現(xiàn),并且代碼更加清晰、易理解。

    后面還會(huì)說說如何獲取元素的真實(shí)樣式和一個(gè)表單中的注意事項(xiàng)。

    1、修改節(jié)點(diǎn)style(內(nèi)聯(lián)樣式)

    這種方法權(quán)重是最高的,直接寫在節(jié)點(diǎn)的style屬性上,他會(huì)覆蓋其他方法設(shè)置的樣式。使用方法很簡(jiǎn)單:

    但是要注意的是,有些CSS樣式名稱是由幾個(gè)單詞組成的例如font-size、background-image等,他們都是用破折號(hào)(-)連接起來的,然而JavaScript中破折號(hào)表示“減”,因此不能作為屬性名稱。我們需要使用“駝峰格式(camelCase)”來書寫屬性名,例如fontSize、backgroundImage。

    還要注意的是,很多style都是有單位的,不能只給一個(gè)數(shù)字。例如fontSize的單位有px、em、%(百分比)等。

    這種方法違背了表現(xiàn)和行為分離的原則,一般只適合定義元素經(jīng)常變化的即時(shí)樣式(與行為相關(guān)),例如一個(gè)可用于拖拽的div,隨著拖拽,他的top、left屬性是不斷變換的,此時(shí)就不能用class或其他方式定義了,使用這種方式可以即時(shí)修改樣式,并且覆蓋掉其他方式的設(shè)置。

    2、更改class、id

    id和class是設(shè)置樣式的“鉤子”,更改之后瀏覽器會(huì)自動(dòng)更新元素的樣式。

    更改id的方法和class的類似,但是個(gè)人并不建議這樣使用,因?yàn)閕d是用于定位元素的,最好不要用它來定義元素的顯示樣式,并且id也常作為JavaScript的鉤子,可能會(huì)引起不必要的錯(cuò)誤。
    在JavaScript中,class是一個(gè)保留關(guān)鍵字,因此使用className作為訪問元素class的屬性,例如:

    但比較郁悶的是,這個(gè)屬性是一個(gè)包含元素所有class的字符串,所有class以空格分開,這樣在刪除class時(shí)就很不方便(增加就好說,之間做個(gè)字符串連接就可以了,不過記得前面要加個(gè)空格~)。

    我之前在刪除的時(shí)候用了正則表達(dá)式,根據(jù)class在字符串中的不同位置進(jìn)行刪除(頭部、尾部、中間),不過后來想到了更好的辦法,就是在className屬性頭尾都加上一個(gè)空格,那就全部變成中間的方法了,直接進(jìn)行子串替換:

    一般的樣式修改最好都用這種方法,定義好CSS的樣式,JavaScript只是發(fā)出樣式改變的指令,具體的樣式定義還是交給CSS去做。

    后兩種方法,既不優(yōu)雅,也有一定兼容性問題,我就不介紹了~

    3、獲取真實(shí)樣式

    首先要說清楚的是,通過element.style是不行的,他只能獲取內(nèi)聯(lián)樣式,樣式表中的定義無法獲取到。
    既然元素的樣式可以定義在這么多種地方,那他的真實(shí)樣式到底是什么樣子就不好說了,有什么辦法能獲取到元素在瀏覽器中顯示的真實(shí)樣式呢?
    其實(shí)微軟和W3C都提供了相應(yīng)的方法,我們只需要進(jìn)行一下封裝就可以用了:

    記得傳入的styleName是用“駝峰格式”的~~

    4、表單的顯示和隱藏(不要濫用CSS)

    我們經(jīng)常會(huì)見到一些表單的選項(xiàng)是動(dòng)態(tài)添加的,例如你某個(gè)表單中選擇了婚姻狀態(tài)是“已婚”,那么就會(huì)多一個(gè)輸入框讓你輸入配偶的姓名。

    如果沒有選擇那當(dāng)然就要把“配偶”的相關(guān)表單都隱藏了,但在這個(gè)時(shí)候不應(yīng)當(dāng)用CSS來解決,即不能用style.display=”none”來隱藏。

    因?yàn)闊o論你隱還是不隱藏它,輸入框就在那里,不增不減~ [暈] 直白點(diǎn)說,就是雖然隱藏了,但他還是存在與DOM中,如果此時(shí)用戶提交表單,會(huì)把這個(gè)隱藏的輸入框的內(nèi)容一起提交,可能會(huì)出現(xiàn)些意想不到的錯(cuò)誤~

    正確的做法是將這段內(nèi)容放入DOM超空間中,這樣就不會(huì)有上面的問題了。

    以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    JavaScript改變CSS樣式的方法匯總_javascript技巧

    JavaScript改變CSS樣式的方法匯總_javascript技巧:JavaScript允許你即時(shí)的改變CSS樣式,這樣就可以將用戶的眼球吸引到你想他們關(guān)注的地方上,并且提供較好的交互體驗(yàn)給力 。 JavaScript修改CSS有4種方法: 修改節(jié)點(diǎn)style(內(nèi)聯(lián)樣式); 改變節(jié)點(diǎn)class或id; 寫入新的css; 替換頁面中的樣式表。 個(gè)人不建
    推薦度:
    標(biāo)簽: 修改 方法 樣式
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲国产人成精品| 55夜色66夜色国产精品视频| 国产精品香港三级国产AV| 国产精品亚洲w码日韩中文| 久久精品水蜜桃av综合天堂| 老司机午夜网站国内精品久久久久久久久| 国产精品你懂的| 精品午夜福利在线观看| 亚洲精品乱码久久久久久不卡| 91精品啪在线观看国产电影| 99久久精品国产免看国产一区| 亚洲精品乱码久久久久久蜜桃图片| 久久精品无码免费不卡| 国产精品v欧美精品v日韩| 欧美精品华人在线| 国产精品成人观看视频免费| 精品欧洲AV无码一区二区男男| 亚洲精品高清在线| 亚洲精品tv久久久久久久久久| 久久夜色撩人精品国产小说| 国产精品内射视频免费| 2023国产精品自拍| 精品四虎免费观看国产高清午夜| 2022国产精品自产拍在线观看| 国产精品天天看天天狠| 国产精品兄妹在线观看麻豆| 久久精品国产亚洲AV麻豆网站| 少妇人妻偷人精品无码视频新浪| 夜夜精品无码一区二区三区| 欧美精品三区| 久久久久久青草大香综合精品 | 99热亚洲精品6码| 日韩精品免费在线视频| 国内精品久久久久| 日韩精品在线视频| 51精品资源视频在线播放 | 精品成在人线AV无码免费看| 亚洲av永久无码精品秋霞电影影院| 日本精品一区二区三区在线视频| 国产精品亚洲高清一区二区| 国产一区麻豆剧传媒果冻精品|