Selector in the Dojo
发布时间:2020-12-16 21:39:49 所属栏目:百科 来源:网络整理
导读:1. dom selector In dojo/dom.js,dojo offers dojo.byId() to get the dom element node. dom.byId = function(id,doc){// inline'd type check.// be sure to return null per documentation,to match IE branch.return ((typeof id == "string") ? (doc ||
1. dom selector In dojo/dom.js,dojo offers dojo.byId() to get the dom element node. dom.byId = function(id,doc){ // inline'd type check. // be sure to return null per documentation,to match IE branch. return ((typeof id == "string") ? (doc || win.doc).getElementById(id) : id) || null; // DOMNode }; 2. query API dojo/query.js provides the query API to get the NodeList. var query = queryForEngine(defaultEngine,NodeList); function queryForEngine(engine,NodeList){ var query = function(/*String*/ query,/*String|DOMNode?*/ root){ // summary: // Returns nodes which match the given CSS selector,searching the // entire document by default but optionally taking a node to scope // the search by. Returns an instance of NodeList. if(typeof root == "string"){ root = dom.byId(root); if(!root){ return new NodeList([]); } } var results = typeof query == "string" ? engine(query,root) : query ? query.orphan ? query : [query] : []; if(results.orphan){ // already wrapped return results; } return new NodeList(results); }; query.matches = engine.match || function(node,selector,root){ // summary: // Test to see if a node matches a selector return query.filter([node],root).length > 0; }; // the engine provides a filtering function,use it to for matching query.filter = engine.filter || function(nodes,root){ // summary: // Filters an array of nodes. Note that this does not guarantee to return a NodeList,just an array. return query(selector,root).filter(function(node){ return array.indexOf(nodes,node) > -1; }); }; if(typeof engine != "function"){ var search = engine.search; engine = function(selector,root){ // Slick does it backwards (or everyone else does it backwards,probably the latter) return search(root || document,selector); }; } return query; }3. widget selector We can find thebyId() method in the dijit/registry.js byId: function(/*String|Widget*/ id){ // summary: // Find a widget by it's id. // If passed a widget then just returns the widget. return typeof id == "string" ? hash[id] : id; // dijit/_WidgetBase }, (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |