欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HTML DOM (document对象)

程序员文章站 2022-07-04 20:05:30
...

HTML DOM 可通过 JavaScript 进行访问。
Document 对象可以对 HTML 页面中的所有元素进行访问。

document对象属性

属性 描述
head 提供对 <head> 元素的直接访问。document.head
body 提供对 <body> 元素的直接访问。document.body
cookie 设置或返回与当前文档有关的所有 cookie。document.cookie
domain 返回当前文档的域名。document.domain
lastModified 返回文档被最后修改的日期和时间。document.lastModified
referrer 返回载入当前文档的文档的 URL。document.referrer
title 返回当前文档的标题。document.title
URL 返回当前文档的 URL。document.URL

document对象方法

方法 描述
getElementById() 返回带有指定 ID 的元素。如[object HTMLDivElement]
getElementsByClassName() 返回包含带有指定类名的所有元素的节点列表。如[object HTMLCollection]
getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。如[object HTMLCollection]
appendChild() 把新的子节点添加到指定节点。
removeChild() 删除子节点。
replaceChild() 替换子节点。
insertBefore() 在指定的子节点前面插入新的子节点。
createAttribute() 创建属性节点。
createElement() 创建元素节点。
createTextNode() 创建文本节点。
getAttribute() 返回指定的属性值(应是对元素节点的操作)。
setAttribute() 把指定属性设置或修改为指定的值(应是对元素节点的操作)。
setAttributeNode() 把指定属性设置或修改为指定的值(应是对元素节点的操作)。

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>

<body>
<div id="myDiv">
    <ul id="myUl">
        <li class="classLi">张三</li>
        <li class="classLi">李四</li>
        <li>王五</li>
        <li>赵六</li>
    </ul>
</div>
<li id="li" style="font-size: 20px">陈大</li>
</body>
<html>

方法详解

  • getElementById()

<script>
    var tagNames=document.getElementById("myDiv");
    console.log("通过指定id获得:"+myDiv);
</script>

通过指定id获得:[object HTMLDivElement]

  • getElementsByClassName()是一个元素的节点

<script>
    var classLis=document.getElementsByClassName("classLi");
    console.log("通过指定类名获得:"+classLis);
</script>

通过指定类名获得:[object HTMLCollection]是一组元素的节点列表

  • getElementsByClassName()

<script>
    var targets=document.getElementsByTagName("li");
    console.log("通过指定标签名称:"+targets);
</script>

通过指定标签获得:[object HTMLCollection]是一组元素的节点列表

  • appendChild()

<script>
    var li=document.getElementById("li")
    var myUl=document.getElementById("myUl");
    myUl.appendChild(li);
</script>
  • removeChild()

<script>
    var myUl=document.getElementById("myUl");
    var firstLi= document.getElementsByClassName("classLi")[0];
    myUl.removeChild(firstLi);
</script>
  • replaceChild()

<script>
    var myUl=document.getElementById("myUl");
    var li=document.getElementById("li");
    var firstLi= document.getElementsByClassName("classLi")[0];
    myUl.replaceChild(li,firstLi);//第一个参数是新节点,第二个是旧节点
</script>
  • insertBefore()

<script>
    var myUl=document.getElementById("myUl");
    var li=document.getElementById("li");
    var secondLi= document.getElementsByClassName("classLi")[1];
    myUl.insertBefore(li,secondLi);//第一个参数是新节点,第二个是旧节点
</script>
  • createAttribute()

<script>
    var firstLi= document.getElementsByClassName("classLi")[0];
    var secondLi= document.getElementsByClassName("classLi")[1];
    var attr=document.createAttribute("style");
    attr.value="color:red";
    //setAttributeNode() 和setAttribute()区别
    firstLi.setAttributeNode(attr);
    secondLi.setAttribute("style","color:blue");
</script>
  • createElement()

<script>
    var newElement= document.createElement("div");//创建一个div
    var body=document.body;
    body.appendChild(newElement);
    newElement.setAttribute("style","width: 80px;height: 80px;background-color: red");//设置style属性使div宽80px,高80px,背景颜色红色
</script>
  • createTextNode()

<script>
    var newElement= document.createElement("div");//创建一个div
    var body=document.body;
    body.appendChild(newElement);
    newElement.setAttribute("style","width: 80px;height: 80px;background-color: red");//设置style属性使div宽80px,高80px,背景颜色红色
    var text=document.createTextNode("我爱你");
    newElement.appendChild(text);
</script>
  • getAttribute()

<script>
    var li= document.getElementById('li');
    var attr=li.getAttribute("style");
    console.log("结果是:"+attr)
</script>

结果是:font-size: 20px

  • setAttribute()

<script>
    var firstLi= document.getElementsByClassName("classLi")[0];
    firstLi.setAttribute("style","color:green");
</script>
  • setAttributeNode()

<script>
    var firstLi= document.getElementsByClassName("classLi")[0];
    var attr=document.createAttribute("style");
    attr.value="color:green";
    firstLi.setAttributeNode(attr);
</script>

转载于:https://www.jianshu.com/p/718d14507acb