摘要:前言前面是純總結,后面實現了一個用改變樣式的。開始元素節點的屬性文檔中每個元素節點都有一個屬性,屬性包含著元素的樣式,查詢這個這個屬性將會返回一個對象,節點對應的樣式都存放在這個屬性里。
前言:前面是純總結,后面實現了一個用DOM改變樣式的Demo。
-------------------開始-------------------------
HTML文檔中每個元素節點都有一個style屬性,style屬性包含著元素的樣式,查詢這個這個屬性將會返回一個對象,節點對應的樣式都存放在這個style屬性里。
一個Demo:可以彈出彈窗,返回標簽應用的CSS樣式
2.style的弊端exampl An example of a paragraph
style屬性只能返回內嵌樣式,只有把CSS style樣式插入到標記里,才可以用DOM style屬性去查詢那些信息。
3.一個Demo:根據元素在節點樹里的位置來設置樣式Demo說明:作者首先給出了一段HTML,有兩個
標簽,然后用DOM改變每個
標簽的樣式。在我看了這個Demo之后感覺作者多此一舉,在
標簽上添加class或者id屬性用CSS不是更簡單嗎?但是后面作者給出了理由:如果文檔需要定期編輯更新,那么添加class屬性很快就會成為負擔(這個負擔也不小吧。。。),anyway,看代碼吧。
(1)HTML部分(2)js代碼部分Hold the page
第一段寫點什么呢?
我來講一段故事:從前有座山,山里一個廟...
別走啊!!!最精彩的還在后面,旁邊有一座尼姑庵...
還有!!!還有!!!
你聽我講,慢慢聽我講,這個故事很精彩
你可以評論我的文章,我告訴你后續故事,真的很精彩,不騙你。
首先封裝一個styleHeaderSiblings函數,獲取所有的h1標簽,然后調用nextSibling方法獲取下一個節點,但是nextSibling方法返回的是所有節點而不只是元素節點,包括h1中的text了文本,所以就需要函數getNextElement來進行判斷,直到獲取到下一個元素節點為止返回,然后執行改變樣式的操作
styleHeaderSiblings函數:
//需求:改變h1標簽緊跟著后面節點元素的樣式,首先要封裝一個函數,獲取所有的h1元素 //headers[i].nextSibling獲取的是
標簽后面的文本text,用getNextElement函數進行判斷 //如果headers[i].nextSibling是類型為1的節點元素,就返回并且改變樣式 //如果不是就接著執行getNextElement函數(遞歸函數思想) function styleHeaderSiblings(){ if(!document.getElementsByTagName){ return false; } var headers = document.getElementsByTagName("h1"); var elem; for(var i = 0; i
getNextElement函數:唯一能讓人興奮的地方就是這里用了遞歸吧~~~
function getNextElement(node){ if(node.nodeType == 1){ return node; } if(node.nextSibling){ return getNextElement(node.nextSibling); } return null; }在頁面加載完成后調用styleHeaderSiblings函數,所以要封裝一個addLoadEvent函數
function addLoadEvent(func){ //把現有的window.onload存入變量oldonload var oldonload = window.onload; if(typeof window.onload != "function"){ window.onload = func; }else{ window.onload = function(){ oldonload(); func(); } } }最后調用頁面加載完成時執行addLoadEvent(styleHeaderSiblings)
4.效果對比,略無聊~~~應用之前
應用之后
5.完整源代碼exampl Hold the page
第一段寫點什么呢?
我來講一段故事:從前有座山,山里一個廟...
別走啊!!!最精彩的還在后面,旁邊有一座尼姑庵...
還有!!!還有!!!
你聽我講,慢慢聽我講,這個故事很精彩
你可以評論我的文章,我告訴你后續故事,真的很精彩,不騙你。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79682.html
摘要:前言這是系列最后一篇,本文主要總結了的用法,以及最后對函數進行抽象。一個多說無益,還是上代碼來得實在還記得編程藝術中的總結一中那個無聊的根據元素在節點樹里的位置來設置樣式的吧現在可以用屬性直接更改樣式了。 前言:這是CSS-DOM系列最后一篇,本文主要總結了className的用法,以及最后對函數進行抽象。 ------------------我是分割線----------------...
摘要:前言這是系列最后一篇,本文主要總結了的用法,以及最后對函數進行抽象。一個多說無益,還是上代碼來得實在還記得編程藝術中的總結一中那個無聊的根據元素在節點樹里的位置來設置樣式的吧現在可以用屬性直接更改樣式了。 前言:這是CSS-DOM系列最后一篇,本文主要總結了className的用法,以及最后對函數進行抽象。 ------------------我是分割線----------------...
摘要:前言前面是純總結,后面實現了一個用改變樣式的。開始元素節點的屬性文檔中每個元素節點都有一個屬性,屬性包含著元素的樣式,查詢這個這個屬性將會返回一個對象,節點對應的樣式都存放在這個屬性里。 前言:前面是純總結,后面實現了一個用DOM改變樣式的Demo。-------------------開始------------------------- 1.元素節點的style屬性 HTML文檔中...
摘要:部分這是一個表格月日北京路號人民廣場月日南京路號人民博物館月日上海路號人民藝術中心部分要美觀,還是稍微寫點樣式吧代碼部分思路就是獲取到所有的,然后遍歷,并對做樣式修改。 前言:接上篇,本篇有兩個內容:一個是Demo:當鼠標hover到表格的一行上時這行表格字體加粗。。。好了,廢話少說,開始!!! ------------------嚴肅的分割線------------------ 1....
摘要:部分這是一個表格月日北京路號人民廣場月日南京路號人民博物館月日上海路號人民藝術中心部分要美觀,還是稍微寫點樣式吧代碼部分思路就是獲取到所有的,然后遍歷,并對做樣式修改。 前言:接上篇,本篇有兩個內容:一個是Demo:當鼠標hover到表格的一行上時這行表格字體加粗。。。好了,廢話少說,開始!!! ------------------嚴肅的分割線------------------ 1....
閱讀 3281·2021-11-25 09:43
閱讀 2084·2021-09-22 10:02
閱讀 3310·2021-09-06 15:00
閱讀 2298·2019-08-30 15:56
閱讀 2347·2019-08-30 15:54
閱讀 3224·2019-08-30 14:14
閱讀 2258·2019-08-29 17:25
閱讀 2902·2019-08-29 17:16