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"); } functionmoveBeforeTwo(){ var two =
dom.byId("two"), three =
dom.byId("three"); domConstruct.place(three, two,
"before"); } functionmoveAfterFour(){ 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下所有子节点}dojo 七 DOM dojo/dom的更多相关文章
- dojo/dom dojo/domConstruct dojo/query
dom.byId require(["dojo/dom", "dojo/domReady!"], function(dom) { var one = dom.b ...
- dojo 十 ajax dojo/_base/xhr
官方教程:Ajax with DojoAjax功能:1.从服务器加载静态数据2.从web服务中访问xml或json类型的数据3.将表单(form)数据发送到服务器4.刷新页面内容....Ajax在RI ...
- dojo 九 effects dojo/_base/fx 和 dojo/fx
官方教程:Dojo Effects这里讲学习一下dojo如何实现淡入.淡出.滑动等效果.实现这些特殊的效果有两个包 dojo/_base/fx 和 dojo/fx.dojo/_base/fx 中提供了 ...
- DOJO 八 event dojo/on
官网教程:Events with Dojo在元素上绑定events,需要引用包dojo/on,通过on方法来实现. <button id="myButton">Clic ...
- dojo.byId、dojo.query、dojo.attr
概述: dojo.byId(/*string*/id或/*DomNode*/node) 1.传入DOMNode返回传入的domNode; 2.传入id返回id为当前值的domNode dojo.que ...
- Dojo API中文 Dojo内容模块概览,初学者
官网:http://dojotoolkit.org/reference-guide/1.10/dojo/index.html#dojo-dojo的翻译 dojo 内容: dojo dojo/dojo ...
- dojo 官方翻译 dojo/Deferred
延迟,异步调用 官网地址:http://dojotoolkit.org/reference-guide/1.9/dojo/Deferred.html require(["dojo/Defer ...
- dojo 官方翻译 dojo/domReady 版本1.10
官方地址:http://dojotoolkit.org/reference-guide/1.10/dojo/domReady.html#dojo-domready dom加载完成后,执行. requi ...
- dojo 官方翻译 dojo/json 版本1.10
官方地址:http://dojotoolkit.org/reference-guide/1.10/dojo/json.html#dojo-json require(["dojo/json&q ...
随机推荐
- 二分图匹配(KM算法)n^3 分类: ACM TYPE 2014-10-01 21:46 98人阅读 评论(0) 收藏
#include <iostream> #include<cstring> #include<cstdio> #include<cmath> const ...
- /MT /MD /ML /MTd /MDd /MLd 的区别
Multithreaded Libraries Performance The single-threaded CRT is no longer ( in vs2005 ) available. Th ...
- 查看Centos系统信息命令
linux命令行具有强大的功能,我们安装vps后,首先应该知道系统信息,查看这些信息,你会发现Linux命令很简单,你可以按照下面的命令练习. linux系统信息 # uname -a # 查看内核/ ...
- CNAME
CNAME指别名记录也被称为规范名字.这种记录允许您将多个名字映射到同一台计算机. 通常用于同时提供WWW和MAIL服务的计算机.例如,有一台计算机名为“host.mydomain.com”(A记录) ...
- Node.js NPM国内镜像
NPM国内镜像 http://npm.hacknodejs.com/ http://registry.npmjs.vitecho.com/ https://registry.npm.taobao.or ...
- 理解Session的几种模式
一.写在前面 我们在使用ASP.NET开发的过程中,有时会进行数据存储以实现请求前后的状态保持(HTTP是无状态保持的协议),而Session作为一种快速简单易于实现的方式被我们经常使用,当然如果出于 ...
- JavaScript 性能分析新工具 OneProfile
OneProfile 是一个网页版的小工具,可以用全新的方式展示 JavaScript 性能分析的结果,帮助开发者洞悉函数调用关系,优化应用性能. 点击打开 OneProfile 背景 Chrome ...
- 用eclipse创建maven项目
Maven是基于项目对象模型(POM),也可以进行模块化开发.并且是个强大的管理工具.本经验用eclipse来创建maven项目 步骤: 1.下载并正确安装eclipse 2.在eclipse上成功安 ...
- MyEclipse — Maven+Spring+Struts+Hibernate 整合 [学习笔记-1]
示例数据库test,用户信息表
- 【poj1006-biorhythms】中国剩余定理
http://poj.org/problem?id=1006 题意:中国剩余定理的裸题. 题目可转化为求最小的x满足以下条件: x%23=a;x%28=b;x%33=c; 关于中国剩余定理可看我昨天的 ...