iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JavaScript怎么操作DOM对象
  • 762
分享到

JavaScript怎么操作DOM对象

2023-06-29 07:06:48 762人浏览 薄情痞子
摘要

这篇文章主要为大家展示了“javascript怎么操作DOM对象”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript怎么操作DOM对象”这篇文章吧。一、DOM基础DOM(Docum

这篇文章主要为大家展示了“javascript怎么操作DOM对象”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript怎么操作DOM对象”这篇文章吧。

一、DOM基础

DOM(Document Object Model)即文档对象模型,针对html和XML文档的api(应用程序接口)。DOM描绘了一个层次化的节点树,运行开发人员添加、移除和修改页面的某一部分。DOM中的三个字母,D(文档)可以理解为整个WEB加载的网页文档;O(对象)可以理解为类似Window对象之类的东西,可以调用属性和方法,这里我们说的是document对象;M(模型)可以理解为网页文档的树型结构。

1、节点

加载HTML页面时,Web浏览器生成一个树型结构,用来表示页面内部结构。DOM将这种树型结构理解为由节点组成。

JavaScript怎么操作DOM对象

从上图的树型结构,我们理解几个概念,html标签没有父辈,没有兄弟,所以html标签为根标签。head标签是html标签的子标签,meta和title标签之间是兄弟关系。如果把每个标签当做一个节点的话,那么这些节点组合成了一棵节点树。
注:后面我们经常把标签称作为元素,是一个意思。

2、节点种类

示例:

<div title="属性节点">测试Div</div>

节点分为三类:

  •  1、元素节点:其实就是标签,即:<div></div>

  •  2、文本节点:其实就是标签内的纯文本,即:测试Div

  •  3、属性节点:其实就是标签的属性,即:title=“属性节点”

JavaScript怎么操作DOM对象

二、查找元素

W3C提供了比较方便简单的定位节点的方法和属性,以便我们快速的对节点进行操作,分别为getElementById()、getElementsByTagName()、getElementsByName()、getAttribute()、setAttribute()和removeAttribute()。

元素节点方法
 方法 说明
 getElementById() 获取特点ID元素的节点
 getElementsByTagName() 获取相同元素的节点列表
 getElementsByName() 获取相同名称的节点列表
 getAttribute() 获取特点元素节点属性的值
 setAttribute() 设置特点元素节点属性的值
 removeAttribute() 移除特定元素节点属性

1、getElementById()

getElementById()方法,接受一个参数:要获取的元素的ID。如果找到相应的元素则返回该元素的HTMLDivElement对象,如果不存在,则返回null。
示例:

     var box=document.getElementById('box');           //获取id为box的元素节点     alert(box);

上面的例子,默认情况返回null,这无关是否存在id='box'的标签,而是执行顺序问题。

注:DOM操作必须等待HTML文档全部加载完毕以后,才可以获取元素。

解决方法:

把script调用标签移到html末尾即可;

使用onload事件来处理js,等待html加载完毕再加载onload事件里面的JS。

   window.onload=function(){        //这里存放当网页所有内容都加载完毕后,再执行的代码    };

上面的代码可以改为:

   window.onload=function(){        var box=document.getElementById('box');                //预加载html后执行        alert(box);    };

注:id表示一个元素节点的唯一性,不能同时给两个或以上的元素节点创建同一个命名的id。某些低版本的浏览器会无法识别getElementById()方法,这时需要做一些判断:

   if(document.getElementById){     //判断是否支持getElementById        alert('但前浏览器支持getElementById');    }

上面例子中的代码最终修改为:

 window.onload=function(){     if(document.getElementById){               var box=document.getElementById('box');               alert(box);      }else{               alert('浏览器不兼容,请更换浏览器');      }};

当我们通过getElementById()获取到特定元素节点时,这个节点对象就被我们获取到了,而通过这个节点对象,我们可以访问它的一系列属性。

元素节点属性
属性说明
tagName获取元素节点的标签名
innerHTML获取元素节点里的内容(即纯文本),非W3C DOM规范

示例:

document.getElementById('box').tagName;         //获取这个元素节点的标签名 输出DIVdocument.getElementById('box').innerHTML;       //获取这个元素节点里面的文本(包含HTML标签)
HTML属性的属性
属性说明
id元素节点的id名称
title元素节点的title属性值
styleCSS内联样式属性值
classNameCSS元素的类

示例:

window.onload=function(){    var box=document.getElementById('box');    alert(box.id);                   //获取这个元素节点id属性的值,注意;不是属性节点    alert(box.title);                //获取title属性的值    alert(box.style);              //获取style属性对象    alert(box.style.color);     //获取style属性对象中的color属性的值    alert(box.className);   //获取class属性的值   };

注:直接调用的属性也可以赋值

示例:

var box=document.getElementById('box');box.id="KKK";box.innerHTML="玩转<strong>JS</strong>";         //赋值,可以解析HTML,不是单独的文本(包含HTML标签)。

2、getElementsByTagName()方法

getElementsByTagName()方法将返回一个对象数组HTMLCollection(nodeList),这个数组保存着所有相同元素名的节点列表。该方法需要一个参数:HTML标签的名称。

document.getElementsByTagName('*');              //获取所有元素

注:IE浏览器在使用通配符的时候,会把文档最开始的HTML的规范声明当作第一个元素。

示例:

window.onload=function(){     var li=document.getElementsByTagName('li');    //参数传递一个标签名即可     alert(li);                             //返回一个数组集合,HTMLCollection     alert(li.length);                  //返回数组的个数     alert(li[0]);                        //HTMLliElement,返回数组的第一个     alert(li.item(0));                //返回数组的第一个     alert(li[0].tagName);        //输出第一个LI标签     alert(li[0].innerHTML);    //输出第一个<li>标签的文本:即1};

示例获取body节点:

window.onload=function(){   //获取body节点对象   var body=document.getElementsByName('body')[0];   alert(body);            //返回HTMLBodyElement对象,body节点};

注:不管是getElementById还是getElementsByTagName,在传递参数的时候,并不是所有浏览器都必须区分大小写,为了防止不必要的错误和麻烦,我们必须坚持养成区分大小写的习惯。

3、getElementsByName()方法

getElementsByName()方法可以获取相同名称(name)的元素,返回一个对象数组HTMLCollection(NodeList)。该方法需要一个参数:HTML标签的name属性的值。

示例:

<html xmlns="Http://www.w3.org/1999/xhtml"> <head>  <meta/>  <title>DOM基础</title>   </head> <body>    <div  id="box" title="标题" class="pox" >测试Div</div>    <input name="test" type="checkbox" value="测试" checked="checked">          <ul>       <li>1</li>    <li>2</li>    <li>3</li>    </ul> </body> <script type="text/javascript" src="demo.js"></script></html>

JS代码:

window.onload=function(){      var input=document.getElementsByName('test')[0];      alert(input.value);                      //输出:测试      alert(input.checked);                 //输出:true};

注:对于并不是HTML合法的属性,那么在JS获取的兼容性上也会存在差异,IE浏览器支持本身合法的name属性,而不合法的就会出现不兼容的问题。

4、getAttribute()方法

getAttribute()方法将获取元素中某个属性的值。它和直接使用属性获取属性值的方法有一定区别。

示例:

window.onload=function(){   var box=document.getElementById('box');   alert(box.bbb);                            //自定义,W3C不合法,只有IE浏览器支持   alert(box.getAttribute('style'));    //非IE返回的是style字符串,IE返回的是对象,这里有个不兼容的问题   alert(box.getAttribute('bbb'));     //自定义,所有浏览器都兼容};

注:HTML通用属性style和onclick,IE7更低的版本style返回一个对象,onclick返回一个函数式。虽然IE8已经修复了这个bug,但为了更好的兼容,开发人员只有尽可能避免使用getAttribute()访问HTML属性了,或者碰到特殊的属性获取做特殊的兼容处理。

5、setAttribute()方法

setAttribute()方法将设置元素中某个属性和值。它需要接受两个参数:属性名和值。如果属性本身已存在,那么就会被覆盖。

示例:

window.onload=function(){   var box=document.getElementById('box');   box.setAttribute('title','标题');                     //创建一个属性和属性值   box.setAttribute('align','center');                    //设置居中   box.setAttribute('bbb','ccc');                       //设置自定义的属性和值};

注:在IE7及更低的版本中,使用setAttribute()方法设置class和style属性是没有效果的,虽然IE8解决了这个bug,但还是不建议使用。

6、removeAttribute()方法

removeAttribute()方法可以移除HTML属性。

示例:

window.onload=function(){   var box=document.getElementById('box');   box.removeAttribute('style');        //移除属性};

注:IE6及更低版本不支持removeAttribute()方法。

以上是“JavaScript怎么操作DOM对象”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: JavaScript怎么操作DOM对象

本文链接: https://www.lsjlt.com/news/323537.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript怎么操作DOM对象
    这篇文章主要为大家展示了“JavaScript怎么操作DOM对象”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript怎么操作DOM对象”这篇文章吧。一、DOM基础DOM(Docum...
    99+
    2023-06-29
  • JavaScript Dom对象的操作
    目录一、核心1、获得Dom节点 2、更新节点2.1 实战演练3、删除Dom节点4、插入节点4.1 把已有的标签进行插入4.2 创建一个新的标签,实现插入4.3 在子节点前插入(ins...
    99+
    2024-04-02
  • JavaScript操作DOM对象详解
    一、DOM基础 DOM(Document Object Model)即文档对象模型,针对HTML和XML文档的API(应用程序接口)。DOM描绘了一个层次化的节点树,运行开发人员添加...
    99+
    2024-04-02
  • Javascript操作dom对象之select的示例分析
    小编给大家分享一下Javascript操作dom对象之select的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!htm...
    99+
    2024-04-02
  • JavaScript中怎么操作DOM
    本篇文章给大家分享的是有关JavaScript中怎么操作DOM,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. getElementById...
    99+
    2024-04-02
  • JavaScript中怎么操作 DOM
    JavaScript中怎么操作 DOM,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。document.querySelector &...
    99+
    2024-04-02
  • 怎么在JavaScript中操作DOM
    本篇文章给大家分享的是有关怎么在JavaScript中操作DOM,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。javascript是一种什么语言javascript是一种动态类...
    99+
    2023-06-14
  • dom对象是不是javascript对象
    这篇文章主要介绍了dom对象是不是javascript对象的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇dom对象是不是javascript对象文章都会有所收获,下面我们一起来...
    99+
    2024-04-02
  • JavaScript中怎么实现DOM操作
    这篇文章将为大家详细讲解有关JavaScript中怎么实现DOM操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、子节点1、元素节点、文本节点实例01h...
    99+
    2024-04-02
  • ajax操作如何JavaScript 对象
    这篇文章主要讲解了“ajax操作如何JavaScript 对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ajax操作如何JavaScript 对象”吧!1.取得JSON  前面...
    99+
    2023-06-08
  • 分析JavaScript HTML DOM Canvas对象
    本篇内容主要讲解“分析JavaScript HTML DOM Canvas对象”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分析JavaScript HTML ...
    99+
    2024-04-02
  • JavaScript文档对象模型DOM
    目录一、JavaScript 能够改变页面中的所有 HTML 元素1、通过 id 找到 HTML 元素2、通过标签名查找 HTML 元素3、通过类名找到 HTML 元素4、JavaS...
    99+
    2024-04-02
  • javascript中如何操作date对象
    这篇文章给大家介绍javascript中如何操作date对象,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 date对象的方法:getDate()、getD...
    99+
    2024-04-02
  • 如何理解JavaScript HTML DOM对象
    如何理解JavaScript HTML DOM对象,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。和大家重点讨论一下JavaScript HTM...
    99+
    2024-04-02
  • Vue3怎么操作dom
    本篇内容介绍了“Vue3怎么操作dom”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!通过ref直接拿到dom引用<template&g...
    99+
    2023-07-04
  • 如何使用ajax操作JavaScript对象
    这篇文章主要讲解了“如何使用ajax操作JavaScript对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用ajax操作JavaScript对象”...
    99+
    2024-04-02
  • HTML DOM Audio对象的作用是什么
    HTML DOM Audio对象用于在网页中播放音频文件。它提供了一种简单的方式来控制音频的播放、暂停、停止以及调整音量等功能。通过...
    99+
    2023-10-12
    HTML
  • JavaScript中sessionStorage对象操作的方法
    这篇“JavaScript中sessionStorage对象操作的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获...
    99+
    2024-04-02
  • HTML DOM Radio对象的作用是什么
    HTML DOM Radio对象表示HTML表单中的单选按钮元素。它提供了一组属性和方法,用于操作和控制单选按钮。Radio对象的主...
    99+
    2023-10-12
    HTML
  • HTML DOM Anchor对象的作用是什么
    HTML DOM Anchor对象是一个表示HTML中的锚点标签()的对象。它用于表示文档中的超链接,并提供了一些方法和属性来管理和...
    99+
    2023-10-12
    HTML
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作