dojo 七 DOM dojo/dom

官方教程:Dojo DOM Functions
对dom的使用,需要引用包dojo/dom。
1.获取节点,dom.byId
byId中既可以传递一个字符串,也可以传递一个节点对象

require(["dojo/dom", "dojo/domReady!"], function(dom) {
     
    function setText(node, text){
        node = dom.byId(node);//通过已有对象
        node.innerHTML = text;
    }
    var one = dom.byId("one");//通过字符串
    setText(one, "One has been set");
    setText("two", "Two has been set as well");
     
});


2.创建节点,domConstruct.create,创建一个新的节点
domConstruct需要引用包dojo/dom-construct,包括4个参数。
第一个:
节点名,如"li""a"
第二个:属性对象,可以设置需要创建节点的各个属性、样式、内容和值
第三个:一个父节点或同级节点对象,可选
第四个:一个插入点标志字符串,由此决定是将第三个参数做为父节点附加到其内部,或是做为同级节点插入,可选,默认为"last"表示附加到父节点最后,"first"表示附加到父节点最前,"before"表示插入到同级节点前,"after"表示插入到同级节点后

require(["dojo/dom", "dojo/dom-construct", "dojo/domReady!"],
    function(dom, domConstruct) {
     
        var list = dom.byId("list"),
            three = dom.byId("three");
        domConstruct.create("li", {
            innerHTML: "Six"
        }, list);
        domConstruct.create("li", {
            innerHTML: "Seven",
            className: "seven",
            style: {
                fontWeight: "bold"
            }
        }, list);
        domConstruct.create("li", {
            innerHTML: "Three and a half"
        }, three, "after");
     
});


3.放置节点,domConstruct.place,改变已存在的一个节点的位置
domConstruct.place包括三个参数。
第一个:目标节点,是一个id字符串或节点对象,即需要放置的节点
第二个:关联节点,是一个id字符串或节点对象,即目标节点将附加到该父节点最前或最后,或者,插入到该同级节点前或后
第三个:一个插入点标志字符串,由此决定是将第二个参数做为父节点附加到其内部,或是做为同级节点插入其前后,可选,默认为"last"表示附加到父节点最后,"first"表示附加到父节点最前,"before"表示插入到同级节点前,"after"表示插入到同级节点后

require(["dojo/dom", "dojo/dom-construct", "dojo/on", "dojo/domReady!"],
    function(dom, domConstruct, on){
         
        function moveFirst(){
            var list = dom.byId("list"),
                three = dom.byId("three");
            domConstruct.place(three, list, "first");
        }
        function moveBeforeTwo(){
            var two = dom.byId("two"),
                three = dom.byId("three");
            domConstruct.place(three, two, "before");
        }
        function moveAfterFour(){
            var four = dom.byId("four"),
                three = dom.byId("three");
            domConstruct.place(three, four, "after");
        }
        function moveLast(){
            var list = dom.byId("list"),
                three = dom.byId("three");
            domConstruct.place(three, list);
        }        
});

4.毁灭节点,
domConstruct.destroy,彻底删除一个已存在的节点及其子节点。
如果仅需清空该节点下的子节点,而保留该节点则用domConstruct.empty。
参数都是一个id字符串或节点对象。
function destroyFirst(){
    var list = dom.byId("list"),
        items = list.getElementsByTagName("li");
         
    if(items.length){
        domConstruct.destroy(items[0]);//删除list下第一个li子节点
    }
}
function destroyAll(){
    domConstruct.empty("list");//清空list下所有子节点
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449811.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

quantaxis中使用docker安装,出现的问题

本人在使用docker安装quantaxis时,经常发生docker报错,原因是与 wsl2冲突。之前不知道原因,直接就是卸载重装,累死我了。现在知道后,将解决方案记下,帮助后来者继续前行。 管理员打开cmd,输入 …

并发编程(多进程1)

一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multiprocessing模块用来开启子进…

LInux 下文件包的使用

1 .deb   http://wiki.ubuntu.org.cn/MySQL%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97 2 .rpm

@RequiresPermissions 注解说明

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 RequiresAuthentication 验证用户是否登录,等同于方法subject.isAuthenticated() 结果为true时。 RequiresUser 验证用户…

千位分隔符转换为数字

最近下载了akshare里面的数据,然后发现有些数据格式为1,300这种格式,为str格式,但是又无法直接强制转换之类方式,特地寻求答案,并做笔记,留待自己与后来者一起避坑。 from locale import * atof(123,456)…

一本通1629聪明的燕姿

1629:聪明的燕姿 时间限制: 1000 ms 内存限制: 524288 KB【题目描述】 城市中人们总是拿着号码牌,不停寻找,不断匹配,可是谁也不知道自己等的那个人是谁。 可是燕姿不一样,燕姿知道自己等的人是谁,…

IT职场人生系列之二十四:程序员如何增加收入

这是IT职场人生系列的第二十四篇。(序言,专栏目录) 程序员的收入是广受关注的问题,很多人从业3~5年之后就会遇到这个收入瓶颈。尽管物价不断上涨,程序员尤其是初、中级程序员的收入不升反降。即使上次在某…

ASP 代码当前记录集不支持更新问题的解决办法。

错误类型:ADODB.Recordset (0x800A0CB3)当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。 /Model/manage/Admin_Admin.asp, 第 35 行 找到放在数据库文件的--- 右键--》属性---》安全----》添加IIS来宾用户---》权限为&#…

@PathVariable 注解 说明

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 PathVariable 映射 URL 绑定的占位符 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过…

数据清洗,筛选

本人在私募,负责数据收集以及清洗,就是包括收集数据,按照领导要求,选出满足条件的数据,用于校验策略是否正确。 现在就在这进行代码上传,即用于自己总结整理,也用于供大家学习了解,实…

JS媒体查询

样式的改变使用C3的媒体查询 行为和功能的改变使用JS的媒体查询 matchMedia()方法参数可写任何一个CSSmedia规则,返回的是新的MediaQueryList对象,该对象有两个属性 media:查询语句的内容matches:检查查询结果,返回boo…

Ruby初步介绍

Ruby是脚本语言,与传统的C, Java不同的是,它不需要经过编译,而是直接可以被执行 Ubuntu下执行第一个ruby脚本 print("Hello David, This is your first Ruby script.\n") davidubuntu:~/RubyTrain/Basic$ ruby Hello.rb 运行结果: Hello David, This is your first R…

C/C++ main用法总结

今天看到一篇很好的文章,详细的讲解了C、C中的main函数,以及returne的用法。转载过来大家一起分享下。转自:http://www.cnblogs.com/ct6816678/archive/2012/10/26/2741824.htmlreturn是C预定义的语句,当return语句提供了一个值时…

如何将数据写入excel中,而不覆盖原有数据

之前直接用pandas库,然后to_excel(),结果直接将原始数据直接覆盖,幸亏有备份。(友善提醒,做数据处理之前,先将数据本地备份一份,确认完全没有问题,然后还是备…

对List集合中的元素进行排序

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 ollections对List集合中的数据进行排序 有时候需要对集合中的元素按照一定的规则进行排序,这就需要用到 Java中提供的对集合…

Jmeter----5.1 设置中文

注意:JMeter5需要Java8 以上,本文环境是Win7 64位 设置永久默认汉化:在Jmeter的安装目录下的bin目录中找到 jmeter.properties这个文件,用文本编辑器打开。在#languageen下面插入一行languagezh_CN 这样,再次打开Jmete…

pandas计算移动平均值

本人今天遇到遇到一个任务,计算同月份合约当天各合约总持仓量的移动平均值。立刻写下了这个函数: group df.groupby([合约系列,date]) f pd.DataFrame(group[持仓量].sum().rolling(20).mean()) 上交后,提出要求,不行&#xff…

一个优美的架构需要考虑的几个问题

随着公司的架构逐步发展,越来越多的问题被提出来,也发现一个良好的技术架构需要考虑的问题 1 架构的可扩展性 这里面又包括以下几个方面 水平垂直可拆分服务无状态数据可缓存可异步处理(提高性能)可复制(提高效率&…

HSTS的来龙去脉

前言 安全经常说“云、管、端”,“管”指的是管道,传输过程中的安全。为了确保信息在网络传输层的安全,现在很多网站都开启了HTTPS,也就是HTTPTLS,在传输过程中对信息进行加密。HTTPS使用了对称加密、非对称加密、消息…

利用XShell上传、下载文件(使用sz与rz命令) 超实用!

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 rz、sz 安装方式:sz/rz命令安装方式 借助XShell,使用linux命令sz可以很方便的将服务器上的文件下载到本地&#…