考虑这个样例:动态创建一个页面的时候,用new listtem()生成多个listitem, 且每一个listitem中都生成一个按钮button。

假设想要给每一个按钮都绑定一个click事件,用dojo.query来获取这些button是比較方便的。

这样做的时候我遇到一个问题, 在create这些button的循环语句中我给每一个button 定义了id = "somebtn" 。

然后试图用var btnlist = dojo.query("#somebtn") 得到一个包括页面中全部button的数组。

遗憾的是,query 语句并没能获取到全部button, 它仅仅获取到1个button对象, 从 console.log(btnlist.length) 语句的输入结果是1能够推断。

又一次查看http://dojotoolkit.org/reference-guide/1.9/dojo/query.html documentation 中的说明,发现文中用的样例基本都是query(".someClass"),仅仅用了class,
并没实用id。

于是回顾起曾经看过的关于class与id的差别提到过id是唯一标识,也就意味着页面中的id仅仅能代表唯一一个元素, 那么就能够想得通为什么query(id)仅仅能获取到1个元素。

给button加入了class属性后, 再用query("class")就能够获取到全部button对象了。

遇到问题的时候,先通过调试大致推断问题出在哪里,确认问题后再查文档,对症下药。 这是今天的小结。

dojo 学习笔记之dojo.query - query(id) 与query(class)的差别的更多相关文章

  1. Dojo 学习笔记 之 Dojo hitch&partial

    原文: http://dojotoolkit.org/documentation/tutorials/1.10/hitch/index.html 版本: Dojo 1.10 为了更好地使用JavaSc ...

  2. [ASP.NET MVC] ASP.NET Identity学习笔记 - 原始码下载、ID型别差异

    [ASP.NET MVC] ASP.NET Identity学习笔记 - 原始码下载.ID型别差异 原始码下载 ASP.NET Identity是微软所贡献的开源项目,用来提供ASP.NET的验证.授 ...

  3. Elasticsearch学习笔记(二)Search API 与 Query DSL

    一. Search API eg: GET /mall/product/_search?q=name:productName&sort=price desc 特点:search的请求参数都是以 ...

  4. Elasticsearch学习笔记(十二)filter与query

    一.keyword 字段和keyword数据类型    1.测试准备数据 POST /forum/article/_bulk { "index": { "_id" ...

  5. dojo 学习笔记

    1  因为Dijit包括了一系列的UI组件,他绑定了4个支持的主题:nihilo, soria, tundra 和claro.每个主题包括了一系列的图片和CSS文件来控制组件的外观.CSS文件必须显示 ...

  6. [Android学习笔记]使用getIdentifier()获取资源Id

    使用getIdentifier()获取资源Id Android中可以使用getIdentifier()获取资源ID ex: 根据图片名称获取图片Id private int getImageResId ...

  7. 前端学习笔记之HTML中的id,name,class区别

    name 属性用于在 JavaScript 中对元素进行引用,或者在表单提交之后,对表单数据进行引用. html的name和id可以类比身份证的姓名和身份证编号,编号id具有唯一性,一个id只出现一次 ...

  8. APUE学习笔记——8.11 实际用户ID、有效用户ID、设置用户ID

    用户ID的基本概念 在Unix系统中,很多操作涉及到权限问题,这些权限涉及到用户ID和组ID的概念.     组ID和用户ID的原理和相关内容是类似的.下面介绍用户ID.     我们常见见到三种关于 ...

  9. [学习笔记] CDQ分治 从感性理解到彻底晕菜

    最近学了一种叫做CDQ分治的东西...用于离线处理一系列操作与查询似乎跑得很快233 CDQ的名称似乎源于金牌选手陈丹琦 概述: 对于一坨操作和询问,分成两半,单独处理左半边和处理左半边对于右半边的影 ...

随机推荐

  1. mockito学习

    mockito学习 写一个测试用例,如果在测试类上面添加了注解@RunWith(SpringJUnit4ClassRunner.class),必须添加@ContextConfiguration(&qu ...

  2. 如何打开Windows Server 2003 内存寻址扩展

    本文介绍了如何在系统内存大于4G的情况下,让windows2003 Advanced Server支持大内存的方法: 由于Windows2003 32bit是32位操作系统,当服务器配备内存高达4G时 ...

  3. Sql server Compact 小型数据库损坏修复

    之前碰到过小型数据库损坏打不开的问题,一直没有理会,今天生产上客户本地小库产生这样的问题,已经修复         SqlCeEngine engine = new SqlCeEngine(" ...

  4. PHP防注入转义功能

    PHP addslashes() 函数 $str = addslashes('Shanghai is the "biggest" city in China.'); echo($s ...

  5. ionic开发环境搭建

    Advanced HTML5 mobile development framework and SDK. Build incredible mobile apps with web technolog ...

  6. 如何在Eclipse中给main方法加参数

    在main方法中有一个args参数,那么如何给args参数赋值呢? public class TestMain { public static void main(String[] args) { f ...

  7. Qt5中QMessageBox::warning()的第一个参数写this时出错

    StandardButton QMessageBox::warning ( QWidget * parent, const QString & title, const QString &am ...

  8. 你好,C++(29)脚踏两只船的函数不是好函数 5.4 函数设计的基本规则

    5.4  函数设计的基本规则 函数是C++程序的基本功能单元,就像一块块砖头可以有规则地垒成一座房子,而一个个函数也可以有规则地组织成一个程序.我们在大量使用他人设计好的函数的同时,也在设计大量的函数 ...

  9. VS2010 C++ 优化配置

    个人感觉VC6.0太土了,而且有很多bug存在,且微软早就不对其更新.所以,在选择C++编程的时候.使用IDE,VC6.0一段时间以后,我毅然决然的放弃了,觉得还是使用VS2010比较有前途. 但是当 ...

  10. redis php

    redis php 学习1.连接$redis = new redis();$result = $redis->connect('127.0.0.1',6379); 2.set$redis = n ...