<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>The source code</title> <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="../resources/prettify/prettify.js"></script> <style type="text/css"> .highlight { display: block; background-color: #ddd; } </style> <script type="text/javascript"> function highlight() { document.getElementById(location.hash.replace(/#/, "")).className = "highlight"; } </script> </head> <body onload="prettyPrint(); highlight();"> <pre class="prettyprint lang-js"><span id='Ext-dom-AbstractQuery'>/** </span> * @class Ext.dom.AbstractQuery * @private */ Ext.define('Ext.dom.AbstractQuery', { <span id='Ext-dom-AbstractQuery-method-select'> /** </span> * Selects a group of elements. * @param {String} selector The selector/xpath query (can be a comma separated list of selectors) * @param {HTMLElement/String} [root] The start of the query (defaults to document). * @return {HTMLElement[]} An Array of DOM elements which match the selector. If there are * no matches, and empty Array is returned. */ select: function(q, root) { var results = [], nodes, i, j, qlen, nlen; root = root || document; if (typeof root == 'string') { root = document.getElementById(root); } q = q.split(","); for (i = 0,qlen = q.length; i < qlen; i++) { if (typeof q[i] == 'string') { //support for node attribute selection if (typeof q[i][0] == '@') { nodes = root.getAttributeNode(q[i].substring(1)); results.push(nodes); } else { nodes = root.querySelectorAll(q[i]); for (j = 0,nlen = nodes.length; j < nlen; j++) { results.push(nodes[j]); } } } } return results; }, <span id='Ext-dom-AbstractQuery-method-selectNode'> /** </span> * Selects a single element. * @param {String} selector The selector/xpath query * @param {HTMLElement/String} [root] The start of the query (defaults to document). * @return {HTMLElement} The DOM element which matched the selector. */ selectNode: function(q, root) { return this.select(q, root)[0]; }, <span id='Ext-dom-AbstractQuery-method-is'> /** </span> * Returns true if the passed element(s) match the passed simple selector (e.g. div.some-class or span:first-child) * @param {String/HTMLElement/Array} el An element id, element or array of elements * @param {String} selector The simple selector to test * @return {Boolean} */ is: function(el, q) { if (typeof el == "string") { el = document.getElementById(el); } return this.select(q).indexOf(el) !== -1; } }); </pre> </body> </html>