11 18的學習總結 DOMSecondday

2022-02-25 01:56:57 字數 1693 閱讀 8956

dom:讀取訪問節點物件屬性

批量刪除父元素下所有子節點 elem.innerhtml="";

批量替換父元素下所有子節點 elem.innerhtml="所有子元素標籤組成的html字串"

一切從屬性獲取的值和設定到屬性上的值必須都是字串所以,都要先型別轉換,再計算!

獲取元素的屬性值

只找乙個屬性值時:var strvalue=elem.getattribute("屬性名");

遍歷乙個元素所有屬性時:

elem.attributes集合:包含了當前元素所有屬性的節點物件

elem.attributes[i/"屬性名"]-->返回乙個屬性節點物件

elem.attributes[i/"屬性名"].value-->屬性值

修改元素的屬性值:2種:

1. elem.setattribute("屬性名","屬性值");

何時使用:只設定乙個屬性值時

2. elem.setattributenode(屬性節點物件)

移除元素的屬性:2種:

1. elem.removeattribute("屬性名")

2. elem.removeattributenode(屬性節點)

判斷是否包含指定屬性:1種:

1. elem.hasattribute("屬性名")-->有,true;沒有,false

h5中自定義屬性:例a.setattribute("age",18);

h5規定:凡是自定義屬性都要加data-字首   獲取自定義屬性值:a.dataset.屬性名

設定自定義屬性值:a.dataset.屬性名=值

修改樣式

1. 僅獲得或修改內聯樣式:

每個元素的style屬性-->style物件

style物件中包含了所有css樣式屬性,預設值都是""

elem.style.屬性名="值";

問題:無法獲得樣式表中層疊或繼承來的屬性

只能訪問elem的內聯樣式(style屬性中定義的樣式)

2. 獲得樣式表中層疊或繼承來的屬性:

dom標準:var style物件=getcomputedstyle(elem);

style物件.屬性名

ie8: var style物件=elem.currentstyle;

style物件.屬性名

問題:          僅能獲得樣式,無法修改樣式

解決:要修改:

改內聯:只能用elem.style.屬性名="值"

3. 改樣式表中的樣式:3步:

1. 獲得要修改的樣式表物件:

var sheet=document.stylesheets[i];

2. 獲得要修改的cssrule:

cssrule:樣式表中每個大括號包裹的內容

var cssrule=sheet.cssrules[i]

3. 獲得或修改cssrule中的屬性

cssrule.style.屬性名=值

問題:牽一髮而動全身

解決:都是用直接修改內聯樣式的屬性,來覆蓋樣式表中的屬性

11 18學習日誌

11.18學習日誌 css1 外部樣式表 2 內部樣式表3 內聯樣式表 綠葉學習網 1 元素選擇器 div 2 id選擇器 id選擇器 box 3 class選擇器 綠葉學習網 綠葉學習網 lv 4 子元素選擇器 father1 div father2 p1 5 相鄰選擇器 相鄰選擇器,就是選中該元...

考試總結 test 11 18

考試策略與過程 看 t1,發現一次操作後的數在 1000 以內,可以暴力預處理 1000 以內的數操作到 1 的次數,則將問題轉化成了有多少個數一次操作後還需 k 1 次操作到 1 可以列舉一次操作後的數,類似數字dp一樣從高到低計算,但是沒有判斷 n choose m 中 m 為負數的情況,100...

1118 有序陣列的元素新增

題目描述 乙個非遞減有序的整型陣列有n個元素,給定乙個整數num,將num插入該序列的適當位置,使序列仍保持非遞減有序。要求定義乙個函式insert 將整數num插入在陣列a的適當位置上,函式原型如下 void insert int a,int n,int num 另外函式仍然呼叫以前定義過的函式p...