JavaScript DOM 操作核心方法详解

作者:像素猫

时间:2026-10-30

浏览:623

本文系统介绍了 JavaScript 中通过 DOM 控制 HTML 元素的核心方法。涵盖 getElementsByName、getElementsByTagName 等获取方式,以及 createElement、insertBefore、removeChild 等节点操作,同时解析 getAttribute 与 setAttribute 属性管理,帮助开发者掌握动态修改网页结构的基础技能。

文章目录

获取元素:名称与标签名

1. getElementsByName():用于获取具有指定 name 属性的元素集合。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

示例如下:


<p name="pn">hello</p>
   <p name="pn">hello</p>
   <p name="pn">hello</p>
   <script>
       function getName(){
                  var count=document.getElementsByName("pn");
                  alert(count.length);
                  var p=count[2];
                  p.innerHTML="world";
          }
   </script>

运行结果:控制台打印出数字“3”,并弹出一个提示框显示“3”。点击确定后,页面中第三个元素的文本内容更新为“world”,最终界面显示内容为“hello hello world”。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~··

2. getElementsByTagName():用于获取指定标签名的元素集合。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

示例如下:


<p>hello</p>
   <p>hello</p>
   <p>hello</p>
   <script>
       function getName(){
                  var count=document.getElementsByTagName("p");
                  alert(count.length);
                  var p=count[2];
                  p.innerHTML="world";
          }
   </script>

运行结果:控制台打印出数字“3”,并弹出一个提示框显示“3”。点击确定后,页面中第三个元素的文本内容更新为“world”,最终界面显示内容为“hello hello world”。

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

元素属性:获取与设置

3. getAttribute():用于获取指定元素的属性值。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

示例如下:


<a id="aid" title="得到a的标签属性"></a>
   <script>
           function getAttr1(){
               var anode=document.getElementById("aid");
               var attr=anode.getAttribute("id");
               alert("a的ID是:"+attr);
            }
           function getAttr2(){
              var anode=document.getElementById("aid");
              var attr=anode.getAttribute("title");
              alert("a的title内容是:"+attr);
           }
            getAttr1();
            getAttr2();
  </script>

运行结果:首先弹出提示框显示“a的ID是:aid”,点击确定后,再次弹出提示框显示“a的title内容是:得到a的标签属性”。

4. setAttribute():用于设置或修改元素的属性值。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

示例如下:


<a id="aid2">aid2</a> 
   <script>
        function setAttr(){
           var anode=document.getElementById("aid2");
           anode.setAttribute("title","动态设置a的title属性");
           var attr=anode.getAttribute("title");
           alert("动态设置的title值为:"+attr);
       }
       setAttr();
   </script>

运行结果:弹出提示框显示“动态设置的title值为:动态设置a的title属性”。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

节点关系:子节点与父节点

5. childNodes():用于访问元素的子节点列表。

~~~~~~~~~~~~~~~~~~~~~~~~~~··

示例如下:


<ul><li>1</li><li>2</li><li>3</li></ul>
   <script>
           function getChildNode(){
                var childnode=document.getElementsByTagName("ul")[0].childNodes;
                alert(childnode.length);
                alert(childnode[0].nodeType);
           }
          getChildNode();
  </script>

运行结果:控制台依次打印出“.1”、“.2”、“.3”,并弹出对话框显示“3”。点击确定后,再次弹出对话框显示“1”。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

6. parentNode():用于访问元素的父节点。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·

示例如下:


<div>
        <p id="pid"></p>
   </div>
   <script>
        function getParentNode(){
            var div=document.getElementById("pid");
            alert(div.parentNode.nodeName);
        }
       getParentNode();
  </script>

运行结果:弹出提示框显示“DIV”,表示该元素的父节点标签名为 div。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

节点创建:元素与文本

7. createElement():用于创建一个新的元素节点。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

示例如下:


 <script>
       function createNode(){
             var body=document.body;
             var input=document.createElement("input");
             input.type="button";
             input.value="按钮";
             body.appendChild(input);//插入节点
        }
         createNode();
 </script>

运行结果:页面中成功渲染出一个按钮。

~~~~~~~~~~~~~~~~~~~~~~~~~~~

8. createTextNode():用于创建一个新的文本节点。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

示例如下:


    <script>
        function createNode(){
              var element = document.createElement("div");
              element.className = "message";
              var textNode = document.createTextNode("Hello world!");
              element.appendChild(textNode);
              document.body.appendChild(element);
        }
      createNode();
   </script>

代码分析:该示例首先创建了一个新的 div 元素,并为其添加了 class 属性,值为“message”。接着,创建了一个文本节点,并将其追加到刚才创建的 div 元素中。最后,将这个包含文本的 div 元素添加到文档的 body 中,从而在浏览器中展示新创建的元素及其文本内容。

运行结果:页面中显示“hello world”。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

节点操作:插入与删除

9. insertBefore():用于在指定节点之前插入一个新节点。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

示例如下:


<div id="div">
          <p id="pid">p元素</p>
    </div>
    <script>
        function addNode(){
             var div=document.getElementById("div");
             var node=document.getElementById("pid");
             var newnode=document.createElement("p");
             newnode.innerHTML="动态插入一个p元素";
             div.insertBefore(newnode,node);
        }
        addNode();
    </script>

运行结果:控制台打印出“动态插入一个p元素”。

页面中显示“p元素”。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

10. removeChild():用于从 DOM 树中删除一个子节点。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·

示例如下:


<div id="div">
          <p id="pid">p元素</p>
    </div>
    <script>
       function removeNode(){
               var div=document.getElementById("div");
               var p=div.removeChild(div.childNodes[1]);
        }
      removeNode();
   </script>

运行结果:页面中不再显示相关元素,即界面什么也没显示。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

网页尺寸:高度属性

11. offsetHeight:用于获取网页元素的可视高度。

12. scrollHeight:用于获取网页元素的滚动高度。

~~~~~~~~~~~~~~~~~~~~~~~~~~~·

示例如下:


  <script>
      function getSize(){
          var width=document.documentElement.offsetWidth||document.body.offsetWidth;//解决兼容问题
          var height=document.documentElement.offsetHeight||document.body.offsetHeight;
          alert(width+","+height);
      }
      getSize();
 </script>

显示结果:(此处对应图片展示具体数值)

获取元素:名称与标签名

本文主要介绍了如何使用 JavaScript DOM 来控制 HTML 元素,内容涵盖 DOM 基础及 HTML 元素操作,文章来自网络,仅供参考。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章