jQuery修改class屬性和CSS樣式整理
class屬性修改
類屬性即class屬性,規(guī)定類名.
用類選擇器規(guī)定樣式的時(shí)候,需要為元素指定類名,即class屬性的值.
注意每個(gè)HTML元素只有一個(gè)class屬性.但是class屬性的值可以是多個(gè)名稱,即可能包含一個(gè)詞的列表,中間用空格分隔.
具體使用方法見:http://www.w3school.com.cn/css/css_selector_class.asp
用jQuery進(jìn)行類名修改既可以用attr()方法修改”class”屬性,也可以用addClass(), removeClass(), toggleClass()等方法來完成.
addClass()
API: http://api.jquery.com/addClass/
addClass()方法向匹配的元素增加指定的類名(一個(gè)或多個(gè)).
注意對于元素來說,class屬性可以有多個(gè)值.該方法不會移除已經(jīng)存在的值,而是在原有的基礎(chǔ)上追加一個(gè)或多個(gè)class屬性.
用attr()方法設(shè)置class屬性,是一個(gè)覆蓋的過程;而addClass()則是一個(gè)追加的過程.
class之間最終是用空格來隔開的.
如果需要添加多個(gè)類,用空格分隔類名.
從1.4開始,這個(gè)方法的參數(shù)也可以傳入一個(gè)function.
removeClass()
API: http://api.jquery.com/removeClass/
removeClass()方法從被選元素移除一個(gè)或多個(gè)類.如需移除若干類,用空格來分隔類名.
如果沒有傳參數(shù),該方法將會移除被選元素的所有類.
toggleClass()
API: http://api.jquery.com/toggleClass/
toggleClass()方法對被選元素的一個(gè)或多個(gè)類進(jìn)行切換(設(shè)置或移除).
該方法檢查每個(gè)元素中的指定類,如果存在則刪除,如果不存在則添加.
通過添加參數(shù),可以設(shè)置只進(jìn)行刪除或者只進(jìn)行添加操作.
格式:$(selector).toggleClass(class,switch)
switch值為true時(shí),只添加;為false時(shí),只刪除.
hasClass()
API: http://api.jquery.com/hasClass/
hasClass()方法檢查被選元素是否包含指定的class.
還可以用is()方法實(shí)現(xiàn)同樣的功能,方法參數(shù)傳入一個(gè)選擇器字符串,比如”.className”.
CSS樣式修改
jQuery中還有一些方法直接返回或者設(shè)置元素的CSS屬性.
css()
API: http://api.jquery.com/css/
讀操作: 獲取匹配元素集合中第一個(gè)元素的指定樣式值(一個(gè)或多個(gè)).
注:讀取多個(gè)樣式值的操作是在jQuery v1.9才加入的.
寫操作: 為匹配元素集合中的每一個(gè)元素設(shè)置一個(gè)或多個(gè)CSS屬性的值.
傳入的參數(shù)可以是單個(gè)的鍵值對,也可以是PlainObject指定的多個(gè)值,還可以是function.(v1.4).
jQuery會處理各個(gè)瀏覽器中不太相同的一些具體情況,比如W3C的cssFloat在IE中是styleFloat,在jQuery中,你可以使用float,然后jQuery會幫你把它翻譯成每個(gè)瀏覽器中應(yīng)該有的正確名稱.
還有,jQuery會合理解讀CSS和DOM格式的多詞屬性,比如.css(“background-color”)和.css(“backgroundColor”),它都是可以處理的.
height()和width()
API: http://api.jquery.com/height/和http://api.jquery.com/width/
高度和寬度屬性.這個(gè)寬高值不包括padding,border和margin.除非box-sizing屬性被使用了.
注意寫操作的時(shí)候set的是content的寬高,不包括box-sizing的部分.
讀操作仍然是返回集合第一個(gè)元素的屬性值.
.css(“width”)和.width()的區(qū)別是:前者返回帶單位的值,比如400px;后者返回不帶單位的像素?cái)?shù)值,即400.
所以如果值需要被用于某種計(jì)算,.height()和.width()是被推薦使用的.
讀取得到的數(shù)值不一定是整型,并且如果用戶縮放了頁面,其值可能是不正確的,因?yàn)闉g覽器沒有暴露這種情況的API.
還有一種不準(zhǔn)確的情況,當(dāng)這個(gè)元素的父元素隱藏起來時(shí),該元素的尺寸可能讀不準(zhǔn).
寫操作支持的value類型是字符串或者數(shù)字.
如果是數(shù)字,jQuery默認(rèn)是px為單位.
如果是字符串,除了可以數(shù)字加單位之外,任何合理的CSS measurement都可以用,比如100%,50%,或者auto.
position()
API: http://api.jquery.com/position/
返回第一個(gè)匹配元素相對于父元素(offset parent)的位置.
只有讀操作.
offset()
API: http://api.jquery.com/offset/
返回第一個(gè)匹配元素的坐標(biāo),或者設(shè)定每一個(gè)匹配元素的坐標(biāo),這個(gè)坐標(biāo)是相對于document的.
offsetParent()
API:http://api.jquery.com/offsetParent/
返回父類,只有讀操作.
scrollLeft()和scrollTop()
API: http://api.jquery.com/scrollLeft/和http://api.jquery.com/scrollTop/
相關(guān)文章
jquery實(shí)現(xiàn)智能感知連接外網(wǎng)搜索
注意引用的插件及順序;搜索獲取選擇的值,智能感知連接外網(wǎng)搜索,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈,希望對你大家有所幫助2013-05-05jQuery編寫textarea輸入字?jǐn)?shù)限制代碼
這篇文章主要為大家詳細(xì)介紹了jQuery編寫textarea輸入字?jǐn)?shù)限制代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03ashx文件獲取$.ajax()方法發(fā)送的數(shù)據(jù)
這篇文章主要介紹了ashx文件獲取$.ajax()方法發(fā)送的數(shù)據(jù)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-05-05jquery ajax后臺返回list,前臺用jquery遍歷list的實(shí)現(xiàn)
下面小編就為大家?guī)硪黄猨query ajax后臺返回list,前臺用jquery遍歷list的實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10idTabs基于JQuery的根據(jù)URL參數(shù)選擇Tab插件
我們的項(xiàng)目用了SunSean的idTabs,但每個(gè)tab里的控件會觸發(fā)postback,或者轉(zhuǎn)到其他頁面再轉(zhuǎn)回來,這樣當(dāng)前選中的tab必丟。印度同事不肯用AJAX,無奈今天加班給印度人寫個(gè)demo,通過回傳URL參數(shù)來選擇tab2012-04-04JQuery上傳插件Uploadify使用詳解及錯(cuò)誤處理
關(guān)于JQuery上傳插件Uploadify使用詳解網(wǎng)上一大把,基本上內(nèi)容都一樣。我根據(jù)網(wǎng)上的步驟配置完成后,會報(bào)一些錯(cuò)誤,而我根據(jù)這些錯(cuò)誤去網(wǎng)上找解決方案,卻沒有相關(guān)資料,所以為了不讓更多的朋友走彎路,我把我遇到的一些問題進(jìn)行匯總,也方便我自己以后查閱。2010-04-04