dojo/domReady! 中感叹号的作用
废话
其实不算个技术问题,但实在是花了我不少时间,不记下来都对不起我这浪费掉的几十分钟。
问题
在dojo官网上看教程,跟着做点练习,看到Dojo DOM Functions那节,有一个练习是改变页面上的列表(li)内容,于是我就写了如下代码:
require(["dojo/dom", "dojo/domReady"], function(dom) {
function setText(node, text){
node = dom.byId(node);
node.innerHTML = text;
}
setText(dom.byId("one"), "One has been set");
setText("two", "Two has been set as well");
});
<ul id="list">
<li id="one">One</li>
<li id="two">Two</li>
<li id="three">Three</li>
<li id="four">Four</li>
<li id="five">Five</li>
</ul>
跑起来以后,控制台里一直报错,类似"can't set properties of null",意思是dom.byId("one")返回是null,我怎么都觉得不可能,来回核对了id N遍啊N+1遍,又对dom添加观察发现也是正常的。总之,就是来来回回折腾了好久,然后猛地往上一瞄......
解决
"dojo/domReady"应为:"dojo/domReady!"
“The exclamation mark is required to tell Dojo not to execute the callback until the DOM is ready.”
少了这个感叹号,并没有等待dom加载完就开始跑函数了,这个时候即使按正确的id也是返回null。
dojo/domReady! 中感叹号的作用的更多相关文章
- JavaScript中两个感叹号的作用
先用一个简单的例子说明:var o={flag:true};var test=!!o.flag;//等效于var test=o.flag||false;alert(test);由于对null与unde ...
- php技术–php中感叹号!和双感叹号!!的用法(三元运算)
---恢复内容开始--- if(文章==有用){狂点我;} 在php持术或其他语言中我们经常会看到感叹号的用法,有一定程序语言基础的朋友都知道单个感叹号的作用是取反的意思,也就是取当前结果的反面,如: ...
- css中的!important作用
css中的!important作用 一.总结 1.!important:是hack, 2.!important作用:让浏览器首选执行这个语句,当对同一个对象设置了多个同类型的属性的时候,首选执行这一个 ...
- web.xml中load-on-startup的作用
如下一段配置,熟悉DWR的再熟悉不过了:<servlet> <servlet-name>dwr-invoker</servlet-name> <ser ...
- C#中构造函数的作用
C#中构造函数的作用 共同点: 都是实例化对象,初始化数据的 默认构造是说所有的类都从祖先object那继承了空参的构造方法,你不写与写空参构造都存在,而有参数的构造一般是自己写的,写就有不写就没有, ...
- MySQL数据库中delimiter的作用概述
以下的文章主要是向大家描述的是MySQL数据库中delimiter的作用是什么?我们一般都认为这个命令和存储过程关系不大,到底是不是这样的呢?以下的文章将会给你相关的知识,望你会有所收获. 其实就是告 ...
- js中getBoundingClientRect的作用及兼容方案
js中getBoundingClientRect的作用及兼容方案 1.getBoundingClientRect的作用 getBoundingClientRect用于获取某个html元素相对于视窗的位 ...
- Linq中关键字的作用及用法
Linq中关键字的作用及用法 1.All:确定序列中的所有元素是否都满足条件.如果源序列中的每个元素都通过指定谓词中的测试,或者序列为空,则为 true:否则为 false. Demo: 此示例使用 ...
- understand dojo/domReady!
require(["dojo/dom", "dojo/domReady!"], function(dom){ dom.byId("helloworld ...
随机推荐
- eclipse运行tomcat中发生异常重启后tomcat端口被占用
在任务管理器关闭javaw进程即可,一般此时会有两个以上javaw进程,关闭其中占用内存较少的那个 可用netstat -ano命令查看端口占用情况
- Mysql的myqldump命令使用方法(备份与还原)
这里的备份与还原,是指表结构数据,和表里面的具体数据(一条一条的记录)同时备份和还原.因此mysqldump,mysql这两命令很强大. 1.备份(即导出)mysqldump -u root -p e ...
- BZOJ2169 连边(动态规划)
令f[i][j]表示连i条边时奇点个数为j的方案数,转移时讨论两奇点相连.一奇一偶相连.两偶点相连即可.注意这样会造成重边,那么算出恰好有一条重边的方案数并减掉.由于是有序地考虑每条边,每次还要除以i ...
- BZOJ2460 Beijing2011元素(线性基+贪心)
按价值从大到小考虑每个元素,维护一个线性基,如果向其中加入该元素的编号仍然构成线性基,则将其加入. 不会证明.当做线性基的一个性质吧. #include<iostream> #includ ...
- 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest C(记忆化搜索)
C题 Problem C Game Map 思路: 之前暴力搜索写了好几发,一直超时,后面看其他人的题解发现要用记忆化搜索..直接暴力搜的话有太多重 复的计算. dist u 表示以u 为起点所能走的 ...
- GNU Emacs命令速查表
GNU Emacs命令速查表 第一章 Emacs的基本概念 表1-1:Emacs编辑器的主模式 模式 功能 基本模式(fundamental mode) 默认模式,无特殊行为 文本模式(text m ...
- 【USACO 1.4】Combination Lock
/* TASK:combo LANG:C++ URL:http://train.usaco.org/usacoprob2?a=E6RZnAhV9zn&S=combo SOLVE:自己做,想的是 ...
- LJ 5月6日A组考试考试题解
[题目] T1(L2837) 晚餐队列安排 [题面] 为了避免餐厅过分拥挤,FJ要求奶牛们分2批就餐.每天晚饭前,奶牛们都会在餐厅前排队入内,按FJ的设想,所有第2批就餐的奶牛排在队尾,队伍的前半部分 ...
- 【模板】MST(Kruskal)
代码如下 #include <bits/stdc++.h> using namespace std; const int maxv=2e5+10; const int maxe=5e5+1 ...
- 【POJ3171】Cleaning Shifts 带权区间最小覆盖
题目大意:给定一个长度为 N 的序列,求带权区间最小覆盖. 题解:设 \(dp[i]\) 表示从左端点到 i 的最小权值是多少,则状态转移为:\(dp[e[i].ed]=min\{dp[j],j\in ...