Web前端学习:JavaScript基础 【HTML DOM操作】

目录

一、认识DOM(Document)

二、查找HTML元素

1、查找HTML元素的方式 

 以id查找HTML元素为例

​编辑

window.onload方法 

三、DOM 常用事件

1、DOM常用事件表 

2、DOM 常用事件的用法

以onclick为示例

四、操作元素

1、操作元素的方式 

 2、操作元素的使用案例 

案例一 

 案例二


一、认识DOM(Document)

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。 

JavaScript的操作本质上就是对dom进行操作


二、查找HTML元素

通常,通过JavaScript,需要操作HTML元素。
为了做到这件事情,必须首先找到该元素。有三种方法来做这件事:

  • 通过id找到HTML元素,例:document.getElementByld("isDIv");
  • 通过标签名找到HTML元素,例:document.getElementsByTagName("p");
  • 通过类名找到HTML元素 ,例:document.getElementsByClassName("intro");

1、查找HTML元素的方式 

  •  以id查找HTML元素为例

例:document.getElementByld("isDIv");

代码演示:

  • 先创建一个HTML文件,然后在head标签中写入script标签
  • script标签内声明了一个变量Div1,用这个变量来接收id为idDiv的标签中的内容 
  • console.log()是一个输出操作,在控制台中输出内容

  • 运行后,在网页检查(按下F12弹出)中控制台查看结果。结果我们发现“控制台”的输出为null值,这是什么原因呢?

原因就是在页面渲染的时候是从上到下的操作,div标签 还没加载的时候就先加载了 script标签,由于在加载 script标签 时需要用到的div标签未加载,也就是找不到div标签,所以输出为null值。

  •  如何才能获取到div标签元素并输出呢?
  • 很简单,把script标签拿下来,放在div标签后

  • 运行后再次查看控制台,控制台中有输出

不过!!!我们一般都会将script标签写在head标签里,但是写在head标签里会出现加载问题,这个怎么解决呢?这个有一种方法可以解决,那就是: 

  • window.onload方法 

window.onload 就是先加载元素,等所有元素加载完成之后再去执行这个代码里面的内容

代码演示: 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        window.onload = function () {
            var Div1 = document.getElementById("isDiv");
            console.log(Div1)
        }
    </script>
</head>
<body>
    <div id="isDiv">
        这是一个Div
    </div>
</body>
</html>
  •  运行结果


三、DOM 常用事件

1、DOM常用事件表 

属性描述
onclick当用户点击某个对象时调用的事件句柄
onkeydown某个键盘按键被按下
onkeyup某个键盘按键被松开
onload一张页面或一副图像完成加载

2、DOM 常用事件的用法

  • 以onclick为示例

示例:设置一个“点我 ”按钮,用户点击按钮后页面会弹出一个提示框,提示内容为:Hello DOM

 

  •  运行后,鼠标点击“点我”,页面弹出提示框

  •  附上原操作代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function f() {
            alert('Hello DOM')
        }
    </script>
</head>
<body>
    <input type="button" onclick="f()" value="点我">
</body>
</html>

四、操作元素

1、操作元素的方式 

var 变量 = 元素.属性名  (获取元素属性)

元素.属性名 = 新属性值   (修改元素属性)

属性名在js中的写法:

  • 1 、html的属性和js里面属性写法一样
  • 2、“class”属性写成“className”
  • 3、“style”属性里面的属性﹐有横杠的改成驼峰式﹐比如:"font-size”,改成"style.fontSize" 

 2、操作元素的使用案例 

  • 案例一 

用window.onload方法,在其内部通过document.getElementByld("isDIv");的方式获取input元素,然后通过 元素.事件 的方式执行”点击弹出窗口事件“

 代码演示:

  •  运行结果:

  • 附上原操作代码 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        window.onload = function () {
            var btn = document.getElementById('btn1');
            btn.onclick = function(){
                alert('Hello DOM')
            }
        }
    </script>
</head>
<body>
    <input type="button" value="点我" id="btn1">
</body>
</html>
  •  案例二

通过  var 变量 = 元素.属性名 获取span元素,并修改字体颜色

 代码演示:

 

  • 附上原操作代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        window.onload = function () {
            //获取span标签的元素
            var sp1 = document.getElementById('sp1');
            //通过 元素.属性名 = 新属性值 的方式修改属性的颜色
            sp1.style.color = 'green'
        }
    </script>
</head>
<body>
    <span id="sp1">
        这是一个span标签
    </span>
</body>
</html>

### 回答1: HTML DOM,即HTML文档对象模型,是一种用于访问和操作HTML文档中元素的标准方法。在JavaScript中,可以使用DOM来查找、修改、添加和删除HTML元素。在本教程中,我们将学习如何使用DOM操作HTML文档的元素。 ### 回答2: JavaScript学习手册十四:HTML DOM——文档元素的操作(二)介绍了文档元素的一些高级操作,包括插入和删除节点、替换节点、复制节点等。下面我将详细介绍这些操作的用法和注意事项。 首先是插入节点,包括appendChild()和insertBefore()方法。appendChild()方法可以将一个节点追加到某个元素的子节点列表的末尾,而insertBefore()方法可将一个节点插入到元素的指定位置。这两个方法都可以接收字符串、元素、文本节点等参数,可以将它们转换为节点后插入。需要注意的是,插入节点后必须重新获取元素才能正确地操作修改后的DOM树。 接下来是删除节点,包括removeChild()和replaceChild()方法。removeChild()方法可以移除指定节点,replaceChild()方法则可将指定节点替换为另一个节点。调用这两个方法也需要重新获取元素。 另外,还有cloneNode()和hasChildNodes()方法。cloneNode()方法可以复制一个节点,包括节点的属性、事件、插入的子节点等,但不包括子节点的引用和事件处理程序。hasChildNodes()方法可判断节点是否包含子节点。 需要注意的是,在使用这些高级DOM操作时,应尽可能减少DOM操作次数。因为频繁操作DOM可能会导致性能问题,因此应该尽可能缓存和重用DOM元素,同时避免频繁更新DOM。此外,在修改DOM树时,应当小心操作,避免影响网页布局和用户体验。 总之,JavaScript学习手册十四:HTML DOM——文档元素的操作(二)提供了一些高级操作DOM树的方法,可以方便地插入、删除、替换和复制节点。合理地使用这些方法,可以为网页的构建、交互和流畅度提供帮助。 ### 回答3: HTML DOMJavaScript操作HTML和XML的接口,它将HTML和XML文档表示为具有层次结构的节点树,通过对节点树进行操作,可以实现对文档元素的增删改查。之前我们已经学习了文档元素的遍历和属性的操作,本篇文章将进一步介绍如何对文档元素进行插入、替换和移除操作。 文档元素的插入操作,可以通过createElement()方法创建一个元素节点,然后通过appendChild()将该节点插入到指定的父节点下。还可以使用insertBefore()方法在指定位置插入节点,该方法需要指定要插入的节点和插入位置的参考节点。同时还可以使用insertAdjacentHTML()方法直接插入HTML代码并将其转换为节点。 文档元素的替换操作,可以通过replaceChild()方法实现,该方法需要指定要替换的节点和替换后的新节点。替换操作可以用于更新页面中的元素,比如将旧的图片替换成新的图片等。 文档元素的移除操作,可以通过removeChild()方法实现,该方法需要指定要移除的节点,并将其从父元素节点中删除。还可以使用remove()方法直接将元素节点从页面中删除。 在进行文档元素操作时,需要注意避免对页面结构造成破坏,比如插入重复的元素或删除父元素节点等操作。另外,DOM操作可能会影响页面的性能,因此在实际应用中需要谨慎处理。 总的来说,HTML DOM提供了丰富的接口,可以实现对文档元素的灵活操作,帮助我们更好地控制和管理页面内容。对于Web前端开发者而言,熟练掌握HTML DOM操作技巧是非常重要的一项技能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

街 三 仔

你的鼓励是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值