4月12日學習筆記 jQuery操作屬性和樣式

2022-09-14 06:57:12 字數 2671 閱讀 7722

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

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

牢記, 在 j**ascript 中我們可以直接獲取或設定"dom 屬性":

1
所以如果要設定元素的 css 樣式類, 要使用的是 dom 屬性"classname"而不是元素屬性"class"。

在 jquery 提供了each()函式用於遍歷 jquery 包裝集,其中的this指標是乙個 dom 物件,所以我們可以應用這一點配合原生 j**ascript 來操作元素的 dom 屬性:

1 $("img").each(function

(index) );

我們可以使用 j**ascript 中的getattributesetattribute來操作元素的"元素屬性"。在 jquery 中給你提供了attr()包裝集函式, 能夠同時操作包裝集中所有元素的屬性:

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

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

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

我們希望獲取測試圖層的寬度,使用 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

2023年4月1 2日學習記錄

一 設計模式 1,享元模式 享元模式 英語 flyweight pattern 是一種軟體設計模式。它使用共享物件,用來盡可能減少記憶體使用量以及分享資訊給盡可能多的相似物件 它適合用於當大量物件只是重複因而導致無法令人接受的使用大量記憶體。通常物件中的部分狀態是可以分享。常見做法是把它們放在外部資...

11月12日筆記

1 object 一切皆物件 重寫override與過載 重寫 函式名 引數個數及型別 返回值要保持一致 virtual override new 屬性預設值 public int id 0 版本在4.5以上支援 字串格式話 2 介面只負責宣告 不負責實現 它代表的是一種能力 成員只能宣告不能包含實...

12月5日筆記

cuda的問題還是tidpos的含義沒搞清楚幹什麼用的。ben還沒來郵件 的形式化方法結課作業也不知道 下學期多元統計和智慧型科學的作業已經基本知道了,爭取2月開課就能交 下下週刷六級的分。先回去休息一下,晚上回來再看cuda的 我覺得目前之所以我進展不下去,是因為我沒理解執行緒索引的問題。diag...