JavaScript學習9:DOM操作表格及樣式
DOM在操作生成HTML上,還是比較簡單明瞭的。不過,由於瀏覽器總是存在相容和陷阱,導致最終的操作就不是那麼簡單方便了。那本文今天就來了解一下DOM如何操作表格和樣式。
一 操作表格
<table>標籤是HTML中結構最為複雜的一個,我們可以通過DOM來建立生成它,或者HTML DOM來操作它。
下面我們就使用DOM來建立一個表格:
<span style="font-size:18px;">window.onload=function(){
var table=document.createElement('table');
table.border=1;
table.width=300;
var caption=document.createElement('caption');
table.appendChild(caption);
caption.appendChild(document.createTextNode('人員表'));
var thead=document.createElement('thead');
table.appendChild(thead);
var tr=document.createElement('tr');
thead.appendChild(tr);
var th1=document.createElement('th');
var th2=document.createElement('th');
var th3=document.createElement('th');
tr.appendChild(th1);
th1.appendChild(document.createTextNode('姓名'));
tr.appendChild(th2);
th2.appendChild(document.createTextNode('年齡'));
tr.appendChild(th3);
th3.appendChild(document.createTextNode('性別'));
document.body.appendChild(table);
};</span>
執行一下程式碼,效果如下
二 操作樣式
CSS作為HTML的輔助,可以增強頁面的顯示效果。但不是每個瀏覽器都能支援最新的CSS能力。CSS的能力和DOM級別密切相關,所以我們有必要檢測當前瀏覽器支援的CSS能力級別。
DOM1級實現了最基本的文件處理,DOM2和DOM3在這個基礎上增加了更多的互動能力,這裡我們主要討論CSS,DOM2增加了CSS程式設計訪問方式和改變CSS樣式資訊。
1訪問元素的樣式
任何HTML元素標籤都會有一個通用的屬性style。它會返回CSSStyleDeclaration物件。下面我們看幾個最常見的行內style樣式的訪問方式。
雖然可以通過style來獲取單一值的CSS樣式,但是對於複合值的樣式資訊,就需要通過計算樣式來獲取。DOM2級樣式,window物件下提供了getComputedStyle()方法。接受兩個引數,需要計算的樣式元素,第二個偽類(:hover),如果沒有偽類,就填null。
2操作樣式表
使用style屬性可以設定行內的CSS樣式,而通過id和class呼叫時最常用的方法。之前我們使用style屬性,僅僅只能獲取和設定行內的樣式,如果是通過內聯<style>或連結<link>提供的樣式規則就無可奈何了,後來我們接觸到了getComputedStyle和currentStyle,這隻能獲取卻無法設定。
CSSStyleSheet型別表示通過<link>元素和<style>元素包含的樣式表。
這兩個元素本身返回的是HTMLLinkElement和HTMLStyleElement型別,但是CSSStyleSheet型別更加通用一些,得到這個型別非IE使用sheet屬性,IE使用styleSheet
var sheet=link.sheet||link.styleSheet;
還有我們可以通過CSSRules屬性(非IE)和rules屬性(IE),獲得樣式表的規則集合列表。這樣我們就可以對每個樣式進行具體的操作了。
Varrules=sheet.cssRules||sheet.rules;
總結:三種操作CSS的方法,第一種style行內,可讀可寫;第二種行內、內聯和連結,使用getComputedStyle或者currentStyle,可讀不可寫;第三種CSSRules或rules,內聯和連結可讀可寫。
相關文章
- 【JavaScript】DOM之樣式操作JavaScript
- (JavaScript學習記錄):jQuery 樣式操作JavaScriptjQuery
- DOM操作表格
- 表格的常用樣式學習
- 常見樣式設計及DOM操作整理
- Javascript DOM學習總結JavaScript
- 【JavaScript學習筆記】滑鼠樣式JavaScript筆記
- JavaScript DOM、BOM操作JavaScript
- javascript DOM的操作JavaScript
- JavaScript學習7:DOM基礎JavaScript
- JavaScript學習8:DOM進階JavaScript
- Javascript 獲取 Dom 樣式的方法有哪些JavaScript
- JavaScript學習之DOM(節點、節點層級、節點操作)JavaScript
- javascript_操作表格JavaScript
- 使用原生 JavaScript 操作 DOMJavaScript
- 前端學習-flutter學習-009-文字及樣式前端Flutter
- JavaScript基礎之DOM操作JavaScript
- JavaScript5:常用DOM操作JavaScript
- JavaScript 操作DOM效能優化JavaScript優化
- JavaScript入門⑦-DOM操作大全JavaScript
- JavaScript 操作 DOM 的那些坑JavaScript
- JavaScript操作DOM常用的APIJavaScriptAPI
- 前端 javascript 練習題--表格的操作及進度條的實現【千鋒】前端JavaScript
- 【Javascript】DOM程式設計學習總結篇JavaScript程式設計
- JavaScript學習之旅-9(原創)JavaScript
- JavaScript ----- 操作DOM物件的屬性JavaScript物件
- JavaScript dom操作程式碼例項JavaScript
- 【面試必備】javascript操作DOM元素面試JavaScript
- JavaScript 操作 DOM 常用 API 總結JavaScriptAPI
- Javascript操作DOM常用API總結JavaScriptAPI
- 前端新手必看的JavaScript常用DOM操作方法和函式前端JavaScript函式
- 回到基礎:什麼是DOM及DOM操作?
- javascript基礎(樣式的操作,瀏覽器相容樣式操作,其他的樣式相關屬性,滾動的樣式)(三十)JavaScript瀏覽器
- Element-UI的table表格的樣式的常用的操作UI
- JavaScript學習10:動態載入指令碼和樣式JavaScript指令碼
- JavaScript入門學習之旅(二)——JavaScript DOM程式設計藝術學習筆記(上)JavaScript程式設計筆記
- JavaScript學習總結(三)BOM和DOM詳解JavaScript
- Bootstrap全域性樣式 - 表格boot