DOM整理2

文檔中的元素都是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.屬性名

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,160評論 1 92
  • 一、樣式篇 第1章 初識jQuery (1)環(huán)境搭建 進入官方網(wǎng)站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,675評論 0 44
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,441評論 0 11
  • 明月當頭閱讀 193評論 0 1
  • 一、初中一年級下學期生物課本知識點: 第一節(jié): 二、第二節(jié) 三、第三節(jié): 四、開皇之治的特點: 五、亞洲相鄰大洲及...
    禾廷廷閱讀 457評論 6 3

友情鏈接更多精彩內(nèi)容