js相關筆記(十一)

2021-08-20 13:46:35 字數 1389 閱讀 2144

1.陣列的那些遍歷方法foreach、map、filter、every、some,在ie678中不存在,dom物件的屬性操作方法getattribute、setattribute、removeattribute在ie678中也不存在,通過控制台列印的時候發現,返回的是乙個object型別的{},也就是空物件。

2.通過dom物件的第一種獲取屬性的方式 物件.屬性名和物件["屬性名"],只能夠獲取標籤上的行內屬性,例如物件.style並不能獲取內嵌的標籤對中的css樣式屬性和外鏈的中的css樣式屬性,但可以獲取頁面標籤中的行內css樣式,頁面標籤行內css樣式通過style屬性來獲取,物件.style也是乙個物件,並不是乙個字串,如果要獲取字串的話,可以通過物件.style.csstext來獲取css樣式文字字串,也能通過物件.style.csstext來設定css樣式文字字串的值,jquery中的css方法就是通過csstext來實現的,csstext其實就是頁面標籤的style屬性的文字值,通過它可以快速的覆蓋原來的行內樣式,獲取和設定物件.style中的樣式屬性使用的命名規則是駝峰命名法而不是css樣式裡的-橫槓,比如css樣式中line-height轉換為頁面標籤物件的style物件的屬性時是物件.style.lineheight。

3.盒子隱藏的方式  display visibility opacity position

◆box.style.display="none";隱藏 不佔位置

◆box.style.visibility="hidden";隱藏 佔位置

◆box.style.opacity="0";和下面一組  隱藏佔位置box.style.filter="alpha(opacity=0)";只在ie678中有效

◆box.style.position="absolute";和下面一組 隱藏不佔位置,box.style.top="-9999px";

4.dom元素建立的三種方式

◆使用document.write();這種方式會覆蓋原來的頁面的全部內容,慎用。

◆使用innerhtml屬性,這種方式如果是持續新增的話,那麼就使用+=,如果想覆蓋原來的話,就直接=,繫結屬性和內容比較方便。(節點套節點)。

◆使用document.createelement("li");這種方式是最純正的,效率不高,因為還要新增到某個節點裡面,但是建立的這個元素可以當作乙個真正的頁面元素來使用,定數量的時候一般用它。

5.元素的增加、刪除、替換、轉殖

◆刪除:removechild(oldnode);移除老節點

◆替換:replacechild(newnode,oldnode);使用新節點替換掉老節點

◆轉殖:clonenode();不完全轉殖,clonenode(true);完全轉殖。

7.如果移動子節點,不要使用正的for迴圈,因為父元素中的子節點的長度會隨著移動而減少,所以需要使用反for迴圈。

js相關筆記(十四)

1.給元素新增非靜態定位的定位屬性時,你如果不設定它的left和top或者bottom再或者right屬性時,他就裝作以標準文件流的方式找個位置待著,但是它的確不佔空間,很像是左浮動,也許非靜態定位不設定left top right bottom屬性時就等於float left 定位的時候left ...

js相關筆記(十六)

1.同時設定html,body,ul,li的width 100 height 100 會讓li繼承佔滿一整頁空間,因為這個時候html body ul li的寬度和高度都是預設佔滿一整頁,無論怎麼放大縮小,都是預設佔滿一整頁。2.在觸發dom上的某個事件的時候,會產生乙個事件物件event,這個物件...

js相關筆記(十五)

1.offset取值返回時乙個number型別的數值,但是它不會返回帶小數的整數,內部做了四捨五入的處理,如style.left 9.4px,offsetleft獲取到的值是9,然而style.left 9.5px,offsetleft獲取到的值是10。2.勻速動畫的原理 this.style.le...