給一個元素增加或者去掉多個class
綜合多個class是一個非常有用的CSS技巧。它通過允許給一個元素增加不同的style而提供了幾種基本的遺傳方式,這就讓你可以在一個網站中混合不同的效果。這點在突出元素的時候尤其有用:可以添加一個class突出一個元素,而不會影響其他的視覺效果。如果你在JavaScript中賦予class,你需要小心自己不會覆蓋先前的class。
解決方法
通過元素的className屬性可以查看任何元素的class。你可以讀也可以寫這個元素的屬性。因為它就是一個字串,className最困難的就是你需要根據它使用的語法來表示不同的class。
一個元素的classname屬性中的class name通過空格分開,第一個class name前面沒有其他的name,最後一個name後面沒有其他的class name。這就允許你可以很自由的增加一個class,只需要添加一個空格然後一個新的class name就可以了。但是,你應該避免添加一個已經存在了的class name,同時應該避免在第一個classname值前面添加空格,如果添加了空格在Opera 7中會出現錯誤:
首先,addClass創建了一個常規的表達類型,它然後用這個類型與檢驗新創建的classname值。如果class name不是已經存在的,我們就會檢索一個空的classname值,或者我們就在原來的classname後面增加一個空格然後加上一個新的class name。
分開class
有些查找class的常規表達使用boundary special character(\b)來分開class,但這並不適用於所有的有效的class名稱,比如那些包含連字元的名稱。
使用常規表達類型去掉一個class的過程與我們之前使用的增加class的過程不同,但我們同樣需要進行檢查:
在removeClass執行之後,它會去掉所有的trailing space(拖尾空格,我們將一個classname從多個classname中去掉會產生trailing space),然後重新賦予目標className。
總結
在這章的內容中,我們介紹了你需要掌握的操作DOM所必需的基本但是很強大的工具。重要的是你需要理解DOM——也就是你在一個流覽器中看見的所有內容下面的骨架。知道如何去創建、如何去編輯以及如何刪除DOM的部分內容對於理解我們要講解的其他內容都是很關鍵的。一旦你掌握了這些技巧,你就有希望成為明日的專業JavaScript程式師。
推薦給同仁
您想要瞭解更多的免費小竅門以便提升你的網站排名嗎?
請馬上聯繫我們網站管理員:
MSN: chenlinwu@cmmail.com
Email: info@rank-ad.com