jQuery操作元素css樣式的三種方法
更新時(shí)間:2014年06月04日 15:11:47 作者:
jQuery里提供三種方法來改變頁(yè)面元素的樣式,雖然它們和傳統(tǒng)方法的思想相通,但是卻節(jié)省了許多代碼
我們常常要使用Javascript來改變頁(yè)面元素的樣式。其中一種辦法是改變頁(yè)面元素的CSS類(Class),這在傳統(tǒng)的Javascript里,我們通常是通過處理HTML Dom的classname特性來實(shí)現(xiàn)的;而jQuery里提供三種方法來實(shí)現(xiàn)這個(gè)功能,雖然它們和傳統(tǒng)方法的思想相通,但是卻節(jié)省了許多代碼。還是那句話 - “jQuery讓JavaScript代碼變得簡(jiǎn)潔!”
1. addClass() - 添加CSS類
$("#target").addClass("newClass");
//#target 指的是需要添加樣式的元素的ID
//newClass 指的是CSS類的名稱
2. removeClass() - 移除CSS類
$("#target").removeClass("oldClass");
//#target 指的是需要移除CSS類的元素的ID
//oldClass 指的是CSS類的名稱
3. toggleClass() - 添加或者移除CSS類:如果CSS類已經(jīng)存在,它將被移除;相反,如果CSS類不存在,它將被加上。
$("#target").toggleClass("newClass")
//如果ID為“target”的元素已經(jīng)定義了CSS樣式,它將被移除;
//反之,CSS類”newClass“將被賦給該ID。
在實(shí)際運(yùn)用中,我們常常先定義好這些CSS類,然后通過Javascript事件觸發(fā)(比如點(diǎn)擊某個(gè)鏈接)來改變頁(yè)面元素樣式。此外,jQuery還提供一種方法 hasClass("className")用來判斷某個(gè)元素是否已經(jīng)被賦予某個(gè)CSS類。
下面是一個(gè)完整的例子。
<!DOCTYPE HTML>
<head>
<title>圖片閃爍</title>
<style type="text/css">
@-webkit-keyframes twinkling{ /*透明度由0到1*/
0%{
opacity:0; /*透明度為0*/
}
100%{
opacity:1; /*透明度為1*/
}
}
.up{
-webkit-animation: twinkling 1s infinite ease-in-out;
}
</style>
</head>
<body>
<div id="soccer" class="up">
哈哈
</div>
<br/>
<input type="button" onclick='btnClick()'>
<script src="./jQuery/jquery-1.8.3.js" type="text/javascript"></script>
<script>
function btnClick(){
//$("#soccer").removeClass("up");
$("#soccer").toggleClass("up");
//$("p:first").removeClass("intro");
}
</script>
</body>
</html>
1. addClass() - 添加CSS類
$("#target").addClass("newClass");
//#target 指的是需要添加樣式的元素的ID
//newClass 指的是CSS類的名稱
2. removeClass() - 移除CSS類
$("#target").removeClass("oldClass");
//#target 指的是需要移除CSS類的元素的ID
//oldClass 指的是CSS類的名稱
3. toggleClass() - 添加或者移除CSS類:如果CSS類已經(jīng)存在,它將被移除;相反,如果CSS類不存在,它將被加上。
$("#target").toggleClass("newClass")
//如果ID為“target”的元素已經(jīng)定義了CSS樣式,它將被移除;
//反之,CSS類”newClass“將被賦給該ID。
在實(shí)際運(yùn)用中,我們常常先定義好這些CSS類,然后通過Javascript事件觸發(fā)(比如點(diǎn)擊某個(gè)鏈接)來改變頁(yè)面元素樣式。此外,jQuery還提供一種方法 hasClass("className")用來判斷某個(gè)元素是否已經(jīng)被賦予某個(gè)CSS類。
下面是一個(gè)完整的例子。
復(fù)制代碼 代碼如下:
<!DOCTYPE HTML>
<head>
<title>圖片閃爍</title>
<style type="text/css">
@-webkit-keyframes twinkling{ /*透明度由0到1*/
0%{
opacity:0; /*透明度為0*/
}
100%{
opacity:1; /*透明度為1*/
}
}
.up{
-webkit-animation: twinkling 1s infinite ease-in-out;
}
</style>
</head>
<body>
<div id="soccer" class="up">
哈哈
</div>
<br/>
<input type="button" onclick='btnClick()'>
<script src="./jQuery/jquery-1.8.3.js" type="text/javascript"></script>
<script>
function btnClick(){
//$("#soccer").removeClass("up");
$("#soccer").toggleClass("up");
//$("p:first").removeClass("intro");
}
</script>
</body>
</html>
相關(guān)文章
jQuery插件jQuery-JSONP開發(fā)ajax調(diào)用使用注意事項(xiàng)
jQuery-JSONP是一個(gè)支持 JSONP 調(diào)用的 jQuery 插件,使用它是因?yàn)樗С殖鲥e(cuò)時(shí)的 ajax 回調(diào),而 jQuery 的 $.ajax 不支持,我們已經(jīng)在實(shí)際項(xiàng)目中使用,在開始使用時(shí)遇到了2個(gè)問題,在這里記錄并分享一下。2013-11-11jQuery實(shí)現(xiàn)的浮動(dòng)層div瀏覽器居中顯示效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)的浮動(dòng)層div瀏覽器居中顯示效果,涉及jQuery及JS動(dòng)態(tài)操作頁(yè)面元素與屬性相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02fancybox1.3.1 基于Jquery的插件在IE中圖片顯示問題
JQuery的彈出窗口插件也很多了,例如Lightbox…這個(gè)我們介紹比較優(yōu)秀的Plugin – Fancybox。2010-10-10- jquery 可以用text()方法來取得字符串,再用length 判斷長(zhǎng)度,然后用substring()方法格式化截?cái)?/div> 2011-09-09
Jquery 數(shù)據(jù)選擇插件Pickerbox使用介紹
目前市面上很少見或幾乎沒有這數(shù)據(jù)(對(duì)象)選擇插件.比如,點(diǎn)擊input , select 元素時(shí)彈出div(窗口),載入數(shù)據(jù)讓用戶選擇數(shù)據(jù),選擇后在填充回對(duì)應(yīng)的元素.2012-08-08jQuery Validate 驗(yàn)證,校驗(yàn)規(guī)則寫在控件中的具體實(shí)例
本篇文章主要是對(duì)jQuery Validate 驗(yàn)證,校驗(yàn)規(guī)則寫在控件中的具體實(shí)例進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-02-02jQuery 浮動(dòng)導(dǎo)航菜單適合購(gòu)物商品類型的網(wǎng)站
頁(yè)面長(zhǎng)度較大,需要方便快速的在頁(yè)面的不同位置進(jìn)行定位,所以浮動(dòng)菜單逐漸流行了起來,下面是jQuery浮動(dòng)導(dǎo)航菜單適合購(gòu)物網(wǎng)站商品類型2014-09-09最新評(píng)論