JQuery屬性與樣式——樣式操作.css()和元素資料的儲存.data()
樣式操作.css()和元素資料的儲存.data()
1 .css()方法用於獲取元素樣式屬性的計算值或者設定元素的css屬性
2 .css()獲取元素樣式屬性的計算值的2種方法
.css(propertyName)獲取匹配元素集合中的第一個元素的樣式屬性的計算值
.css(propertyNames)傳遞一組陣列,返回一個物件結果
3 .css()設定元素的css屬性的3種方法
.css(propertyName,value)設定css
.css(propertyName,function)可以傳入一個回撥函式,返回取到對應的值進行處理
.css(properties)可以傳一個物件,同時設定多個樣式
4 瀏覽器屬性獲取方式不同,在獲取某些值的時候都JQuery採用統一的處理,比如顏色採用RBG,尺寸採用px
5 .css()方法支援駝峰寫法與大小混搭的寫法,內部做了容錯的處理
6 當一個數只被作為值(value)的時候,會將其轉換為一個字串,並添在字串的結尾處新增px,如.css(“width”,50})與.css(“width”,”50px”})一樣
7 .css()與.assClass()的區別
7.1 可維護性
.assClass()的本質是通過定義個class類的樣式規則,給元素新增一個或多個類
.css()是通過JavaScript大量程式碼進行改變元素的樣式
7.2 靈活性
通過.assClass()可以批量的給相同的元素設定統一的規則,變動起來比較方便,
可以統一修改刪除
.css()需要指定每一個元素一一的修改,日後維護也就要一一的修改,比較麻煩
.css()可以很容易動態的去改變一個樣式的屬性,不需要再去繁瑣的定義個class類的規則
7.3 樣式值
.assClass()本質只是針對class的類的增加刪除,不能獲取到指定樣式的屬性的值
.css()可以獲取到指定的樣式值
7.4 樣式的優先順序
css的樣式是有優先順序的,當外部樣式、內部樣式和內聯樣式同一樣式規則同時應用於同一個元素的時候,優先順序如:內聯樣式>內部樣式>外部樣式
.assClass()是通過增加class名的方式,樣式在外部檔案或者內部樣式中先定義好的,需要的時候再附加到元素上
通過.css()處理的是內聯樣式,直接通過元素的style屬性附加到元素上的
通過.css()設定的樣式屬性優先順序要高於.addClass
8 一般靜態的結構都確定了佈局的規則,可以用.addClass()方法增加統一的類規則,動態的HTML結構在不確定規則或者經常變化的情況下一般考慮用.css()
9 在HTML5中data屬性進行資料預設或儲存,在不支援HTML5的瀏覽器中用.data()方法
10 如:用data屬性
JQuery.data(element,key,value)//靜態介面,存資料
JQuery.data(element,key,)//靜態介面,取資料
.data(key,value)//例項介面,存資料
.data(key)//例項介面,存資料
2個方法在使用上存取都是同一個介面,傳遞元素,鍵值資料
用.data()方法
JQuery.removeData(element[,name])
.removeData([name])
2個對應的刪除介面,使用上與data一致,一個是增加一個是刪除
11 例子
<body>
<h2>jQuery.data()靜態方法</h2>
<div class=”left”>
<div class=”aaron”>
<p>點選看結果</p>
<p>jQuery.data</p>
</div>
<div><span></span></div>
</div>
<h2>.data()例項方法</h2>
<div class=”right”>
<div class=”aaron”>
<p>點選看結果</p>
<p>.data</p>
</div>
<div><span></span></div>
</div>
<script type=”text/javascript”>
$(`.left`).click(function() {
var ele = $(this);
//通過$.data方式設定資料
$.data(ele, “a”, “data test”)
$.data(ele, “b”, {
name : “慕課網”
})
//通過$.data方式取出資料
var reset = $.data(ele, “a”) + “</br>” + $.data(ele, “b”).name
ele.find(`span`).append(reset)
})
</script>
<script type=”text/javascript”>
$(`.right`).click(function() {
var ele = $(this);
//通過.data方式設定資料
ele.data(“a”, “data test”)
ele.data(“b”, {
name: “慕課網”
})
//通過.data方式取出資料
var reset = ele.data(“a”) + “</br>” + ele.data(“b”).name
ele.find(`span`).append(reset)
})
</script>
</body>
本文轉自 拉考的考拉 51CTO部落格,原文連結:http://blog.51cto.com/lakaodekaola/1982846
相關文章
- jQuery知識總結之元素屬性與樣式的操作jQuery
- 前端與移動開發----jQuery----JQuery動畫,JQ操作元素屬性,JQ操作元素樣式(大量案例)前端移動開發jQuery動畫
- CSS常見樣式和屬性CSS
- css字型樣式屬性CSS
- 使用jquery操作元素的css樣式(獲取、修改等等)jQueryCSS
- JQuery中操作Css樣式的方法jQueryCSS
- jQuery 樣式操作jQuery
- javascript基礎(樣式的操作,瀏覽器相容樣式操作,其他的樣式相關屬性,滾動的樣式)(三十)JavaScript瀏覽器
- jquery設定元素css樣式的幾種方式jQueryCSS
- CSS——CSS 給文字加樣式:① 字型屬性CSS
- CSS——CSS 給文字加樣式:② 文字屬性CSS
- Zepto這樣操作元素屬性
- jquery data()函式和html5 data屬性jQuery函式HTML
- jQuery—頁面內容,樣式,控制屬性jQuery
- css樣式相關的驚豔的屬性CSS
- jquery如何設定帶有important的樣式屬性jQueryImport
- jQuery的data()函式操作html5的自定義data-*屬性jQuery函式HTML
- jquery css()方法設定元素的樣式簡單介紹jQueryCSS
- CSS樣式中的right屬性和margin-right屬性的區別CSS
- 非佈局樣式-裝飾性屬性&CSS hackCSS
- CSS 設定svg元素樣式CSSSVG
- CSS內聯樣式的使用,設定字型屬性CSS
- jquery給元素新增樣式表的方法jQuery
- css3中的zoom屬性以及jquery中css()方法操作元素的屬性CSSS3OOMjQuery
- Boostrap全域性CSS樣式CSS
- jquery css()一次性為多個元素設定多個樣式jQueryCSS
- jQuery使用css()方法改變元素樣式程式碼例項jQueryCSS
- Android 樣式屬性的使用Android
- CSS樣式表的繼承性和層疊性CSS繼承
- (中級)快捷樣式屬性
- CSS 第N個子元素樣式CSS
- CSS 第2個li元素樣式CSS
- jQuery查詢帶有class樣式的元素jQuery
- js dom元素樣式設定相關style屬性介紹JS
- jQuery屬性操作之.val()函式jQuery函式
- tab-switch 樣式的新增 與 tab元素樣式的切換
- 使用jquery為指定元素新增樣式類jQuery
- javascript之屬性操作、innerHTML、判斷、自增、操作多個樣式的方法和不相容的屬性JavaScriptHTML