3. DOM操作

  1. 認(rèn)識DOM
    DOM:Document Object Model岖妄,文檔對象模型秫舌。定義了訪問和處理HTML文檔的標(biāo)準(zhǔn)方法仑乌。DOM將HTML文檔呈現(xiàn)為帶有元素炊甲、屬性和文本的樹結(jié)構(gòu)(節(jié)點樹)鱼炒。
    先來看看下面的代碼:
    DOM1.jpg

    將HTML代碼分解為DOM節(jié)點層次圖:
    DOM2.jpg

    HTMl文檔可以說是有節(jié)點構(gòu)成的集合衔沼,三種常見的DOM節(jié)點:
    • 元素節(jié)點:上圖中 <html><body> 昔瞧、 <p> 等都是元素節(jié)點指蚁,即標(biāo)簽。
    • 文本節(jié)點:向用戶展示的內(nèi)容自晰,如 <li>...</li> 中的JavaScript凝化、DOM、CSS等文本酬荞。
    • 屬性節(jié)點:元素屬性搓劫,如 <a> 標(biāo)簽的鏈接屬性 瞧哟。
      看下面的代碼:
      <a >JavaScript DOM</a>
    
    
DOM3.jpg
  1. 通過ID獲取元素
    學(xué)過HTML/CSS樣式,都知道枪向,網(wǎng)頁由標(biāo)簽將信息組織起來勤揩,而標(biāo)簽的id屬性值是唯一的,就像是每人有一個身份證號一樣遣疯,只要通過身份證號就可以找到相對應(yīng)的人雄可。那么在網(wǎng)頁中,我們通過id先找到標(biāo)簽缠犀,然后進(jìn)行操作数苫。
    語法:
document.getElementById(“id”)
  1. innerHTML屬性
    innerHTML 屬性用于獲取或替換HTML元素的內(nèi)容。
    語法:
Object.innerHTML

注意:
1. Object是獲取的元素對象辨液,如通過document.getElementById("ID") 獲取的元素虐急。
2. 注意書寫,innerHTML區(qū)分大小寫滔迈。
我們通過 id = "con" 獲取 <p> 元素止吁,并將元素的內(nèi)容輸出和改變元素內(nèi)容,代碼如下:
<!DOCTYPE HTML> <html> <head> <title>innerHTML</title> </head> <body> <p id="con">Hello world!</p> <script type="text/javascript"> var mycon= document.getElementById("con") ; document.write("p標(biāo)簽原始內(nèi)容:"+mycon.innerHTML+"<br>"); mycon.innerHTML = "New text!"; document.write("p標(biāo)簽修改后的內(nèi)容:"+mycon.innerHTML); </script> </body> </html>
結(jié)果:

DOM4.jpg

  1. 改變HTML樣式
    HTML DOM運行JavaScript改變HTML元素的樣式燎悍。
    語法:
  Object.style.property = new style;

注意:Object是獲取的元素對象敬惦,如通過 document.getElementById("id") 獲取的元素。
基本屬性表(property):

DOM5.jpg

注意:該表只是一小部分CSS樣式屬性谈山,其它樣式也可以通過該方法設(shè)置和修改俄删。
看看下面的代碼:
改變 <p> 元素的樣式,將顏色改為紅色奏路,字號改為20,背景顏色改為藍(lán):

<p id="pcon">Hello World!</p>
<script>
   var mychar = document.getElementById("pcon");
   mychar.style.color="red";
   mychar.style.fontSize="20";
   mychar.style.backgroundColor ="blue";
</script>

結(jié)果:


DOM6.jpg
  1. 顯示和隱藏(display屬性)
    網(wǎng)頁中經(jīng)常會看到顯示和隱藏的效果畴椰,可通過 display 屬性設(shè)置。
    語法:
Object.style.display = value 

注意:Object是獲取的元素對象鸽粉,如通過 document.getElementById("id") 獲取的元素斜脂。
value取值:


DOM7.jpg

示例代碼:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>display</title>
    <script type="text/javascript"> 
        function hidetext()  
        {  
        var mychar = document.getElementById("con");
        mychar.style.display = 'none';
        }  
        function showtext()  
        {  
        var mychar = document.getElementById("con");
        mychar.style.display = 'block';
        }
    </script> 
</head> 
<body>  
    <h1>JavaScript</h1>  
    <p id="con">做為一個Web開發(fā)師來說,如果你想提供漂亮的網(wǎng)頁触机、令用戶滿意的上網(wǎng)體驗帚戳,JavaScript是必不可少的工具。</p> 
    <form>
       <input type="button" onclick="hidetext()" value="隱藏內(nèi)容" /> 
       <input type="button" onclick="showtext()" value="顯示內(nèi)容" /> 
    </form>
</body> 
</html>
  1. 控制類名(className屬性)
    className 屬性設(shè)置或返回元素的 class 屬性儡首。
    語法:
object.className = "className";

作用:
1. 獲取元素的 class 屬性销斟;
2. 為網(wǎng)頁內(nèi)的某個元素指定一個CSS樣式來更改該元素的外觀。
示例代碼:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>className屬性</title>
<style>
    body{ font-size:16px;}
    .one{
        border:1px solid #eee;
        width:230px;
        height:50px;
        background:#ccc;
        color:red;
    }
    .two{
        border:1px solid #ccc;
        width:230px;
        height:50px;
        background:#9CF;
        color:blue;
    }
    </style>
</head>
<body>
    <p id="p1" > JavaScript使網(wǎng)頁顯示動態(tài)效果并實現(xiàn)與用戶交互功能椒舵。</p>
    <input type="button" value="添加樣式" onclick="add()"/>
    <p id="p2" class="one">JavaScript使網(wǎng)頁顯示動態(tài)效果并實現(xiàn)與用戶交互功能。</p>
    <input type="button" value="更改外觀" onclick="modify()"/>
    <script type="text/javascript">
       function add(){
          var p1 = document.getElementById("p1");
          p1.className = 'one';
       }
       function modify(){
          var p2 = document.getElementById("p2");
          p2.className = 'two';
       }
    </script>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末约谈,一起剝皮案震驚了整個濱河市笔宿,隨后出現(xiàn)的幾起案子犁钟,更是在濱河造成了極大的恐慌,老刑警劉巖泼橘,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涝动,死亡現(xiàn)場離奇詭異,居然都是意外死亡炬灭,警方通過查閱死者的電腦和手機醋粟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來重归,“玉大人米愿,你說我怎么就攤上這事”撬保” “怎么了育苟?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長椎木。 經(jīng)常有香客問我违柏,道長,這世上最難降的妖魔是什么香椎? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任漱竖,我火速辦了婚禮,結(jié)果婚禮上畜伐,老公的妹妹穿的比我還像新娘馍惹。我一直安慰自己,他們只是感情好烤礁,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布讼积。 她就那樣靜靜地躺著,像睡著了一般脚仔。 火紅的嫁衣襯著肌膚如雪勤众。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天鲤脏,我揣著相機與錄音们颜,去河邊找鬼。 笑死猎醇,一個胖子當(dāng)著我的面吹牛窥突,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播硫嘶,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼阻问,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沦疾?” 一聲冷哼從身側(cè)響起称近,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤第队,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后刨秆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凳谦,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年衡未,在試婚紗的時候發(fā)現(xiàn)自己被綠了尸执。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡缓醋,死狀恐怖如失,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情改衩,我是刑警寧澤岖常,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站葫督,受9級特大地震影響竭鞍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜橄镜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一偎快、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧洽胶,春花似錦晒夹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至翔横,卻和暖如春读跷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背禾唁。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工效览, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人荡短。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓丐枉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親掘托。 傳聞我的和親對象是個殘疾皇子瘦锹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一、JS前言 (1)認(rèn)識JS 也許你已經(jīng)了解HTML標(biāo)記(也稱為結(jié)構(gòu)),知道了CSS樣式(也稱為表示)沼本,會使用HT...
    凜0_0閱讀 2,772評論 0 8
  • 我們首先要明白噩峦,我們給頁面添加效果用到的js到底是什么?js其實包含三部分:dom 文檔對象模型 bom 瀏覽...
    一直以來都很好閱讀 807評論 0 0
  • 昨天講到貓跟著我們回家了抽兆,非常活潑好動族淮,但沒多久感覺就蔫兒了辫红!無精打采,而且總是用他的爪子鬧騰他的耳朵祝辣,好像癢癢的...
    Dreammeng76閱讀 230評論 0 0
  • 簡悅直播教練恬源閱讀 143評論 0 2
  • http://mp.weixin.qq.com/s?src=3×tamp=1495785201&ver=1&sig...
    靖蘭亭閱讀 543評論 0 51