整合營銷服務商

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

          免費咨詢熱線:

          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 是屬性。


          主站蜘蛛池模板: 丰满爆乳无码一区二区三区| 狠狠做深爱婷婷久久综合一区| 韩国精品一区视频在线播放| 中文字幕日本一区| 国产精品电影一区| 亚洲一区二区三区夜色| 久久亚洲中文字幕精品一区四 | 成人区人妻精品一区二区不卡视频| 中文字幕一区在线观看视频| 久久精品动漫一区二区三区| 日韩精品无码一区二区三区AV| 波多野结衣电影区一区二区三区| 亚洲精品国产suv一区88| 一区一区三区产品乱码| 少妇激情一区二区三区视频| 久久一区不卡中文字幕| 中文字幕精品一区二区精品| 中文字幕一区二区三区永久| 中文字幕日韩人妻不卡一区| 变态拳头交视频一区二区| 黄桃AV无码免费一区二区三区 | 国产香蕉一区二区三区在线视频| 99久久人妻精品免费一区| 末成年女AV片一区二区| 久久久久人妻一区二区三区vr| 91video国产一区| 日本视频一区在线观看免费| 一区国产传媒国产精品| 成人精品一区二区三区校园激情 | 色窝窝无码一区二区三区 | 秋霞无码一区二区| 人妖在线精品一区二区三区| 伊人无码精品久久一区二区| 精品人妻无码一区二区三区蜜桃一| 日韩在线不卡免费视频一区| 中文字幕无线码一区2020青青| 日韩高清一区二区三区不卡 | 精品国产AV一区二区三区| 亚洲AV无码一区二区乱子仑 | 国产香蕉一区二区在线网站| 天堂va视频一区二区|