成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? jQuery操作屬性和樣式詳解
全站頭部文字 我要出現在這里
jQuery操作屬性和樣式詳解 685 2024-03-08   

• 區分 DOM 屬性和元素屬性

<img src="http://www.gimoo.net/t/1903/images/image.1.jpg" id="hibiscus" alt="Hibiscus" class="classA" />

通常開發人員習慣將id,src,alt等叫做這個元素的"屬性"。我們將其稱為"元素屬性"。但是在解析成 DOM 對象時,實際瀏覽器最后會將標簽元素解析成"DOM 對象", 并且將元素的"元素屬性"存儲為"DOM 屬性",兩者是有區別的。

甚至有些"元素屬性"和"DOM 屬性"的名稱都不一樣,比如上面的元素屬性 class, 轉換為 DOM 屬性后對應 className。

牢記, 在 javascript 中我們可以直接獲取或設置"DOM 屬性":

<script type="text/javascript">
  $(function() {
    var img1 = document.getElementById("hibiscus");
    alert(img1.alt);
    img1.alt = "Change the alt element attribute";
    alert(img1.alt);
    img1.className = "classB";
  })
</script>

所以如果要設置元素的 CSS 樣式類, 要使用的是 DOM 屬性"className"而不是元素屬性"class"。
--------------------------------------------------------------------------------
•操作"Dom 屬性"

在 jQuery 提供了each()函數用于遍歷 jQuery 包裝集,其中的this指針是一個 DOM 對象,所以我們可以應用這一點配合原生 javascript 來操作元素的 DOM 屬性:

$("img").each(function(index) {
   alert("index:" + index + ", id:" + this.id + ", alt:" + this.alt);
   this.alt = "changed";
   alert("index:" + index + ", id:" + this.id + ", alt:" + this.alt);
 });

•操作"元素屬性"

我們可以使用 javascript 中的getAttribute和setAttribute來操作元素的"元素屬性"。在 jQuery 中給你提供了attr()包裝集函數, 能夠同時操作包裝集中所有元素的屬性:

查看圖片

雖然我們可以使用removeAttr(name)刪除元素屬性,但是對應的 DOM 屬性是不會被刪除的, 只會影響 DOM 屬性的值.比如將一個input元素的readonly元素屬性去掉,會導致對應的 DOM 屬性變成false(即input變成可編輯狀態).

•修改 CSS 類和樣式

下表是修改 CSS 類相關的 jQuery 方法:

查看圖片

注意addClass(class)和removeClass(classes)的參數可以一次傳入多個 css 類, 用空格分割。removeClass 方法的參數可選, 如果不傳入參數則移除全部 CSS 類。

同樣當我們想要修改元素的具體某一個 CSS 樣式,即修改元素屬性"style"時, jQuery 也提供了相應的方法:

查看圖片

• 獲取常用屬性

<!doctype html>
<html lang="zh">
<head>
 <meata charset="utf-8"/>
 <title>get object width</title>
 <script src="http://www.gimoo.net/t/1903/jquery-1.11.2.min.js"></script>
 <script>
  $(function() {
   alert("attr("width"):" + $("#testDiv").attr("width")); //undifined
   alert("css("width"):" + $("#testDiv").css("width")); //auto(ie6) 或 1264px(ff)
   alert("width():" + $("#testDiv").width()); //正確的數值 1264
   alert("style.width:" + $("#testDiv")[0].style.width); //空值
  })
 </script>
</head>
<body>
 <div id="testDiv">test text</div>
</body>
</html>

我們希望獲取測試圖層的寬度,使用 attr 方法獲取"元素特性"為 undefined, 因為并沒有為 div 添加 width。而使用 css()方法雖然可以獲取到 style 屬性的值, 但是在不同瀏覽器里返回的結果不同,IE6 下返回 auto,而 FF 下雖然返回了正確的數值但是后面帶有"px"。所以 jQuery 提供了 width()方法,此方法返回的是正確的不帶 px 的數值。

針對上面的問題,jQuery 為常用的屬性提供了獲取和設置的方法,比如 width()用戶獲取元素的寬度,而 width(val)用來設置元素寬度。

下面這些方法可以用來獲取元素的常用屬性值:

1. 寬和高相關 Height and Width

查看圖片 查看圖片

outerWidth 可以接受一個 bool 值參數表示是否計算 margin 值。

2. 位置相關 Positioning

查看圖片

以上這篇jQuery操作屬性和樣式詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持綠夏網。



主站蜘蛛池模板: 电影《皮埃里诺》免费观看| 茅山道士在线观看| 高慧君| 追捕演员表名单| 安息2| 二手大棚钢管急卖2000元| 麦兆辉| 电影二嫫1994在线观看完整版| 小组介绍| 卫星掉落| 卡米尔个人简介| 林诗雅电影| 幼儿园一日活动的组织与实施| 爆操女人逼| 传说的打火机在线观看| 樱花悠| 殷雪梅| 黄色污污视频| 演员李煜个人资料| 南来北往分集剧情| 二年级上册音乐教案全册| 叶子楣伦理| 雅雅英| 08版包青天狸猫换太子| leslie| 王艺嘉| 牛的交配视频| 成年人看的小视频| teen| 曹查理电影大全免费观看国语| 日本电影芋虫| 刘思维| 免费看裸色| 扑克牌悬浮魔术教程| 光脚踩| 挠中国美女丝袜脚心| 焦波| 处男破处| 溜冰圆舞曲音乐教案| 牙齿扩弓的最佳年龄| 陈学冬演过的电视剧有哪些|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103