博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dojo 七 DOM dojo/dom
阅读量:6716 次
发布时间:2019-06-25

本文共 2282 字,大约阅读时间需要 7 分钟。

官方教程:

对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://bekmo.baihongyu.com/

你可能感兴趣的文章
python小技巧-基于python本身
查看>>
【C#】使用ADO .Net Entities Framework 与WPF ListBox控件绑定
查看>>
CentOS5.x系统 配置YUM服务器
查看>>
OTS数据迁移验证方案
查看>>
黑客学习笔记教程之一:黑客文化
查看>>
alias别名、时间、screen、echo等——Linux基本命令(3)
查看>>
Access-Control-Allow-Origin与跨域
查看>>
Python正则表达式详解
查看>>
交换机、路由器设备选型总结
查看>>
linux文件系统介绍
查看>>
find
查看>>
互联网MySQL开发规范
查看>>
android中的按钮以图片的方式显示_基础篇
查看>>
linux indent命令: 调整C原始代码文件的格式
查看>>
snmp之——2交换机MIB库ID和物理端口不对应
查看>>
Centos6.7下安装python连接mysql环境故障解决
查看>>
12.交换路由密码恢复
查看>>
sudo:sorry,you must have a tty to run sudo
查看>>
python os模块
查看>>
服务器操作系统之Solaris架构攻略
查看>>