整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML DOM-事件

          TML DOM 允許 JavaScript 對 HTML 事件作出反應。

          實例

          Mouse Over Me

          Click Me

          TML DOM (文檔對象模型)

          當網頁被加載時,瀏覽器會創建頁面的文檔對象模型(Document Object Model)。

          HTML DOM 定義了用于 HTML 的一系列標準的對象,以及訪問和處理 HTML 文檔的標準方法。通過 DOM,你可以訪問所有的 HTML 元素,連同它們所包含的文本和屬性。

          HTML DOM 模型被構造為對象的樹:


          查找 HTML 元素

          //通過 id 查找 HTML 元素
          var x=document.getElementById("intro");
          
          //通過標簽名查找 HTML 元素
          var x=document.getElementById("main");
          var y=x.getElementsByTagName("p");
          
          //通過類名找到 HTML 元素
          var x=document.getElementsByClassName("intro");

          HTML DOM 改變 HTML 內容

          //改變 HTML 輸出流
          document.write(Date());
          //絕對不要在文檔加載完成之后使用,用btn點擊事件執行 document.write()。這會覆蓋該文檔。
          
          //改變 HTML 內容
          document.getElementById(id).innerHTML=new HTML
          
          //改變 HTML 屬性
          document.getElementById(id).attribute=new value

          HTML DOM 改變 CSS

          //改變 HTML 樣式
          document.getElementById("p2").style.color="blue";
          document.getElementById("p2").style.fontFamily="Arial";
          document.getElementById("p2").style.fontSize="larger";
          
          <h1 id="id1">我的標題 1</h1>
          <button type="button" onclick="document.getElementById('id1').style.color='red'">
          點我!</button>

          HTML DOM 事件

          //對事件做出反應
          <h1 onclick="this.innerHTML='Ooops!'">點擊文本!</h1>
          
          <script>
          function changetext(id){
          	id.innerHTML="Ooops!";
          }
          </script>
          </head>
          <body>
          <h1 onclick="changetext(this)">點擊文本!</h1>
          </body>
          
          
          //HTML 事件屬性
          <body>
          <p>點擊按鈕執行 <em>displayDate()</em> 函數.</p>
          <button onclick="displayDate()">點我</button>
          <script>
          function displayDate()
          {
          	document.getElementById("demo").innerHTML=Date();
          }
          </script>
          <p id="demo"></p>
          </body>
          
          
          //使用 HTML DOM 來分配事件
          document.getElementById("myBtn").onclick=function(){displayDate()};
          
          //onchange 事件
          <script>
          function myFunction(){
          	var x=document.getElementById("fname");
          	x.value=x.value.toUpperCase();
          }
          </script>
          </head>
          <body>
          輸入你的名字: <input type="text" id="fname" onchange="myFunction()">
          <p>當你離開輸入框后,函數將被觸發,將小寫字母轉為大寫字母。</p>
          </body>

          HTML DOM 事件監聽器

          //addEventListener() 方法
          <body>
          <p>該實例使用 addEventListener() 方法在按鈕中添加點擊事件。 </p>
          <button id="myBtn">點我</button>
          <p id="demo"></p>
          <script>
          document.getElementById("myBtn").addEventListener("click", displayDate);
          function displayDate() {
              document.getElementById("demo").innerHTML = Date();
          }
          </script>
          </body>
          
          //向原元素添加事件句柄
          <body>
          <p>該實例使用 addEventListener() 方法在按鈕中添加點擊事件。 </p>
          <button id="myBtn">點我</button>
          <script>
          document.getElementById("myBtn").addEventListener("click", function(){
              alert("Hello World!");
          });
          </script>
          
          //向同一個元素中添加多個事件句柄
          <body>
          <p>該實例使用 addEventListener() 方法向同個按鈕中添加兩個點擊事件。</p>
          <button id="myBtn">點我</button>
          <script>
          var x = document.getElementById("myBtn");
          x.addEventListener("click", myFunction);
          x.addEventListener("click", someOtherFunction);
          function myFunction() {
              alert ("Hello World!")
          }
          function someOtherFunction() {
              alert ("函數已執行!")
          }
          </script>
          </body>

          HTML DOM 元素

          在文檔對象模型 (DOM) 中,每個節點都是一個對象。DOM 節點有三個重要的屬性,分別是:

          1. nodeName : 節點的名稱
          2. nodeValue :節點的值
          3. nodeType :節點的類型

          創建新的 HTML 元素

          <body>
          <div id="div1">
          <p id="p1">這是一個段落。</p>
          <p id="p2">這是另一個段落。</p>
          </div>
          <script>
          var para=document.createElement("p");
          var node=document.createTextNode("這是一個新段落。");
          para.appendChild(node);
          var element=document.getElementById("div1");
          element.appendChild(para);
          </script>

          刪除已有的 HTML 元素

          <body>
          <div id="div1">
          	<p id="p1">這是一個段落。</p>
          	<p id="p2">這是另一個段落。</p>
          </div>
          <script>
          var parent=document.getElementById("div1");
          var child=document.getElementById("p1");
          parent.removeChild(child);
          </script>
          </body>
          


          以上內容整理于網絡,如有侵權請聯系刪除。

          過 HTML DOM,您能夠使用節點關系在節點樹中導航。


          HTML DOM 節點列表

          getElementsByTagName() 方法返回節點列表。節點列表是一個節點數組。

          下面的代碼選取文檔中的所有 <p> 節點:

          實例

          varx=document.getElementsByTagName("p");

          可以通過下標號訪問這些節點。如需訪問第二個 <p>,您可以這么寫:

          y=x[1];

          嘗試一下 ?

          注意:

          下標號從 0 開始。


          HTML DOM 節點列表長度

          length 屬性定義節點列表中節點的數量。

          您可以使用 length 屬性來循環節點列表:

          實例

          x=document.getElementsByTagName("p");for(i=0;i<x.length;i++){document.write(x[i].innerHTML); document.write("<br>");}

          實例解析:

          • 獲取所有 <p> 元素節點

          • 輸出每個 <p> 元素的文本節點的值


          導航節點關系

          您能夠使用三個節點屬性:parentNode、firstChild 以及 lastChild ,在文檔結構中進行導航。

          請看下面的 HTML 片段:

          <html><head><metacharset="utf-8"></head><body><p>Hello World!</p><div><p>DOM 是非常有用的!</p><p>這個實例演示了節點的關系。</p></div></body></html>

          • 首個 <p> 元素是 <body> 元素的首個子元素(firstChild)

          • <div> 元素是 <body> 元素的最后一個子元素(lastChild)

          • <body> 元素是首個 <p> 元素和 <div> 元素的父節點(parentNode)

          firstChild 屬性可用于訪問元素的文本:

          實例

          <pid="intro">Hello World!</p><script>x=document.getElementById("intro");document.write(x.firstChild.nodeValue);</script>

          嘗試一下 ?


          DOM 根節點

          這里有兩個特殊的屬性,可以訪問全部文檔:

          • document.documentElement - 全部文檔

          • document.body - 文檔的主體

          實例

          <p>Hello World!</p><div><p>DOM 是非常有用的!</p><p>這個實例演示了 <b>document.body</b> 屬性。</p></div><script>alert(document.body.innerHTML);</script>

          嘗試一下 ?


          childNodes 和 nodeValue

          除了 innerHTML 屬性,您也可以使用 childNodes 和 nodeValue 屬性來獲取元素的內容。

          下面的代碼獲取 id="intro" 的 <p> 元素的值:

          實例

          <pid="intro">Hello World!</p><script>txt=document.getElementById("intro").childNodes[0].nodeValue;document.write(txt);</script>

          嘗試一下 ?

          在上面的例子中,getElementById 是一個方法,而 childNodes 和 nodeValue 是屬性。


          主站蜘蛛池模板: 相泽南亚洲一区二区在线播放 | 国产福利电影一区二区三区久久老子无码午夜伦不 | 欧美人妻一区黄a片| 精品无码国产一区二区三区AV| 日本免费电影一区| 视频一区精品自拍| 成人免费视频一区| 无码国产精品一区二区免费3p| 国产精品被窝福利一区| 日本免费电影一区二区| 无码一区二区三区中文字幕| 亚洲片一区二区三区| 亚洲福利精品一区二区三区| 日本国产一区二区三区在线观看| 国产A∨国片精品一区二区| 一区二区三区在线|欧| 视频一区二区三区人妻系列| 一区二区精品久久| 蜜桃臀无码内射一区二区三区| 亚洲日本乱码一区二区在线二产线 | 国产美女视频一区| 亚洲av一综合av一区| 精品无码综合一区二区三区| 国产亚洲自拍一区| 国产中文字幕一区| 无码人妻久久一区二区三区| 一区二区三区在线观看中文字幕| 国产成人一区二区三区电影网站| 亚洲一区在线免费观看| 久久久久人妻一区精品性色av| 精品无码综合一区| 亚洲午夜福利AV一区二区无码| 亚洲一区二区精品视频| 精品国产毛片一区二区无码| 亚洲AV永久无码精品一区二区国产 | www一区二区三区| 亚洲午夜电影一区二区三区| 天天视频一区二区三区| 亚洲福利秒拍一区二区| 久久亚洲中文字幕精品一区四| 亚洲狠狠狠一区二区三区|