文檔中的元素都是Element類型的對象
Element類型的對象,通過原型繼承自Node.prototype。
所以,Node類型是Element類型的父類型
Node類型定義的屬性和方法,所有Element對象都具備:
比如:nodeName,nodeType,nodeValue
再比如:firstChild,lastChild,childNodes等

Element類型,除從Node類型繼承了所有節(jié)點公共的屬性和方法外,還擴展了專門操作元素節(jié)點的屬性和方法
元素節(jié)點與普通節(jié)點的不同,是元素節(jié)點可以有特性(Attribute)和內(nèi)容(innerHTML)
由Element類型提供的所有元素對象共有的屬性和方法,也稱為核心DOM

核心DOM和HTMLDOM
在HTML文檔中,,所有和HTML元素又是HTMLElement類型的對象,是Element的子類型,所以,Element類型提供的屬性和方法,HTML元素都可以使用。

擴展簡化
id ?title ? style ?className
HTML內(nèi)容獲取和設置
<p id="msg"><span>新華社消息</span> </p>
var p=document.getElementById("msg");
console.log(p.innerHTML) ? ? //讀取
console.log(typeOf p.innerHTML) ?//String類型
p.innerHTML=<a>央視新聞</a> ?//設置
textContent用于讀取或者設置元素節(jié)點中的文本內(nèi)容 ? //子HTML標簽會被剔除
<p id="msg"><span>新華社消息</span></p>
document.getElementById("msg");
console.log(p.textContent); ? ?//讀取
console.log(typeOf p.textContent); ? //String
p.textContent="來自央視的新聞" ? //設置 ? ?IE8版本以下不支持textContent
nodeValue和textContent

元素的屬性
讀取屬性 可以通過以下幾種方法讀取元素屬性值
element.attributes[下標].value
element.attributes["屬性名"]
element.getAttribute("屬性名")
element.getAttribute("屬性名").value
修改屬性
element.setAttribute(name,value) ? //IE8版本以下不支持
element.setAttributeNode(attrNode);
移除屬性
element.removeAttribute("屬性名")
element.removeAttributeNode9(attrNode);
判斷屬性
element.hasAttribute('屬性名') ? //判斷 是否擁有該屬性 返回ture或者false
element.hasAttribute() ? ? ?//判斷是否擁有屬性
元素的樣式
HTML中定義樣式,三種方法:1. 內(nèi)聯(lián)樣式: style=“xxx:xxx;xxx:xxx…”2. 內(nèi)部樣式表:3. 外部樣式表:
屬性名:style對象中的屬性名都是將CSS中樣式屬性名去橫線,變駝峰后的結果,比如:
CSS中: background-color? 、? list-style-type
style對象中:backgroundColor 、listStyleType
獲取或設置元素的內(nèi)聯(lián)樣式
獲取 ? ? elem.style.屬性名 ? ?//所有屬性返回字符串類型
設置 ? ? elem.style.屬性名=值 ? ?//值也是字符串類型
強調:在瀏覽器標準模式下,帶單位的屬性值設置時,必須加單位,取值時也會返回帶單位的值。
如何獲取到最終影響多大當前元素的所有樣式屬性?
DOM:[document.defautView.]getComputeStyle(元素對象)
IE:對象元素.currentStyle屬性
返回的結果都是CSSStyleDeclaration對象。
讀取屬性時和style對象一樣,但不能改!
只能通過元素.style.屬性名方式,設置內(nèi)聯(lián)樣式,利用優(yōu)先級高的特點,覆蓋其它樣式表中的樣式。
修改樣式表中的樣式
第一步:現(xiàn)獲取包含屬性的樣式表對象
var sheet=document.styleSheet[i];
第二步:獲取樣式表中所有規(guī)則的集合
var rules=sheet.cssRules//sheet.rules;
第三步:獲取規(guī)則集合中包含目標屬性的規(guī)則
var rule=rules[i];
獲取或設置規(guī)則集合中的目標屬性
rule.style.屬性名