ArcGIS API for JavaScript 4.15系列(2)——Dojo中的dom操作
创始人
2024-05-24 13:03:16
0

1、前言

ArcGIS API for JavaScript是基于Dojo框架编写的开发包,因此了解并掌握Dojo的相关基础知识是极为必要的。很多开发者都反馈过一个问题,那就是一看见ArcGIS API for JavaScript里那些奇形怪状的代码就觉得无从下手。有一点必须得承认:Dojo与现在流行的ReactVue相比,其设计思想确实已经落伍了,但这并不妨碍Dojo仍旧是一个优秀的JavaScript框架,其严格的模块化和面向对象的思想也依旧值得开发者学习借鉴。下面就来介绍一下Dojo中的基础的dom操作。

2、dojo/dom模块

在原生JavaScript中,我们可以通过document.getElementById方法获取对应的dom元素。而在dojo中,内置的dom模块提供了一个byId方法,我们可以通过该方法来获取对应的dom元素,代码如下:



demo

这是标题1

这是标题2

这是标题3

运行结果如下:

这是标题1
这是标题2
这是标题3

3、dojo/dom-construct模块

3.1、创建元素——create

Dojo中内置的dom-construct模块可用于创建dom元素,该模块中包含一个create方法,该方法的第一个参数为html中的元素标签,如h1pli等等。第二个参数为标签的属性值,第三个参数为父节点dom元素,第四个参数为在父节点中的插入位置。下面代码演示了在一个div中创建三个h1标签



demo

运行结果如下图所示:

在这里插入图片描述

3.2、销毁元素——destroy

dom-construct模块中的destroy方法可用于销毁dom元素,该方法会连同内部的dom子节点一同销毁。下面代码演示了销毁div的操作,由于调用了destroy方法,因此div内部的h1元素也会一同被销毁。



demo

这是标题1

这是标题2

这是标题3

运行结果如下图所示,可以发现整个div元素都被销毁了。

在这里插入图片描述

3.3、清空元素——empty

dom-construct模块中的empty方法可用于清除内部元素。与destroy方法不同,empty方法只会清除内部的dom子节点,父节点则不受影响。代码如下



demo

这是标题1

这是标题2

这是标题3

运行结果如下图所示,可以发现:empty方法并没有清除div元素,只是将div内部的h1元素清除了。

在这里插入图片描述

3.4、插入元素——place

dojo/dom-construct模块中的place方法可用于插入dom元素。该方法与create方法类似,一共包含三个参数,第一个参数为插入的元素,第二个参数为父节点元素,第三个参数为插入的位置,如firstlast。下面代码演示了在div中插入h1元素:



demo

运行结果如下图所示:

在这里插入图片描述

4、dojo/dom-prop模块

4.1、get

dojo/dom-prop模块提供了get方法用来获取dom元素的property。下面代码演示了获取一个文本框的property



demo




运行结果如下所示:

userName
text
请输入用户名
admin

4.2、set

dojo/dom-prop模块提供了set方法用来设置dom元素的property。下面代码演示了将文本框变为密码框的操作。



demo




运行结果如下所示:

password
password
请输入密码
123456

5、dojo/dom-attr模块

5.1、get

dojo/dom-attr模块中的get方法可以用来获取dom元素的属性值,下面代码演示了获取一个超链接属性的操作:



demo

百度链接


运行结果如下所示:

hyperLink
http://www.baidu.com
_blank
百度链接

5.2、set

dojo/dom-attr模块中的set方法可以用来设置dom元素的属性值,下面代码演示了将百度链接改为网易链接的操作:



demo

百度链接


运行结果如下所示:

hyperLink
https://www.163.com
_self
网易链接

5.3、has

dojo/dom-attr模块中的has方法可以用来判断dom元素是否包含某个属性值,代码如下:



demo

百度链接


运行结果如下所示:

是否包含id属性:true
是否包含href属性:true
是否包含target属性:false
是否包含style属性:false

5.4、remove

dojo/dom-attr模块中的remove方法可以用来移除dom元素中的某个属性值,下面代码演示了移除超链接中的href属性:



demo

百度链接


运行程序可以发现,由于href属性被移除,因此点击超链接没有反应。

6、结语

本文介绍了Dojo中基础的dom操作方法,主要涉及到dojo/domdojo/dom-constructdojo/dom-propdojo/dom-attr等内置模块。只要熟悉了Dojo的模块化思想,你会发现它其实并不难,甚至很多思想值得去借鉴并应用。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...