| @@ 1683-1725 (lines=43) @@ | ||
| 1680 | } |
|
| 1681 | this._selectors = parseChunks(selector, []); |
|
| 1682 | }, |
|
| 1683 | match: function (control, selectors) { |
|
| 1684 | var i, l, si, sl, selector, fi, fl, filters, index, length, siblings, count, item; |
|
| 1685 | selectors = selectors || this._selectors; |
|
| 1686 | for (i = 0, l = selectors.length; i < l; i++) { |
|
| 1687 | selector = selectors[i]; |
|
| 1688 | sl = selector.length; |
|
| 1689 | item = control; |
|
| 1690 | count = 0; |
|
| 1691 | for (si = sl - 1; si >= 0; si--) { |
|
| 1692 | filters = selector[si]; |
|
| 1693 | while (item) { |
|
| 1694 | if (filters.pseudo) { |
|
| 1695 | siblings = item.parent().items(); |
|
| 1696 | index = length = siblings.length; |
|
| 1697 | while (index--) { |
|
| 1698 | if (siblings[index] === item) { |
|
| 1699 | break; |
|
| 1700 | } |
|
| 1701 | } |
|
| 1702 | } |
|
| 1703 | for (fi = 0, fl = filters.length; fi < fl; fi++) { |
|
| 1704 | if (!filters[fi](item, index, length)) { |
|
| 1705 | fi = fl + 1; |
|
| 1706 | break; |
|
| 1707 | } |
|
| 1708 | } |
|
| 1709 | if (fi === fl) { |
|
| 1710 | count++; |
|
| 1711 | break; |
|
| 1712 | } else { |
|
| 1713 | if (si === sl - 1) { |
|
| 1714 | break; |
|
| 1715 | } |
|
| 1716 | } |
|
| 1717 | item = item.parent(); |
|
| 1718 | } |
|
| 1719 | } |
|
| 1720 | if (count === sl) { |
|
| 1721 | return true; |
|
| 1722 | } |
|
| 1723 | } |
|
| 1724 | return false; |
|
| 1725 | }, |
|
| 1726 | find: function (container) { |
|
| 1727 | var matches = [], i, l; |
|
| 1728 | var selectors = this._selectors; |
|
| @@ 1143-1185 (lines=43) @@ | ||
| 1140 | } |
|
| 1141 | this._selectors = parseChunks(selector, []); |
|
| 1142 | }, |
|
| 1143 | match: function (control, selectors) { |
|
| 1144 | var i, l, si, sl, selector, fi, fl, filters, index, length, siblings, count, item; |
|
| 1145 | selectors = selectors || this._selectors; |
|
| 1146 | for (i = 0, l = selectors.length; i < l; i++) { |
|
| 1147 | selector = selectors[i]; |
|
| 1148 | sl = selector.length; |
|
| 1149 | item = control; |
|
| 1150 | count = 0; |
|
| 1151 | for (si = sl - 1; si >= 0; si--) { |
|
| 1152 | filters = selector[si]; |
|
| 1153 | while (item) { |
|
| 1154 | if (filters.pseudo) { |
|
| 1155 | siblings = item.parent().items(); |
|
| 1156 | index = length = siblings.length; |
|
| 1157 | while (index--) { |
|
| 1158 | if (siblings[index] === item) { |
|
| 1159 | break; |
|
| 1160 | } |
|
| 1161 | } |
|
| 1162 | } |
|
| 1163 | for (fi = 0, fl = filters.length; fi < fl; fi++) { |
|
| 1164 | if (!filters[fi](item, index, length)) { |
|
| 1165 | fi = fl + 1; |
|
| 1166 | break; |
|
| 1167 | } |
|
| 1168 | } |
|
| 1169 | if (fi === fl) { |
|
| 1170 | count++; |
|
| 1171 | break; |
|
| 1172 | } else { |
|
| 1173 | if (si === sl - 1) { |
|
| 1174 | break; |
|
| 1175 | } |
|
| 1176 | } |
|
| 1177 | item = item.parent(); |
|
| 1178 | } |
|
| 1179 | } |
|
| 1180 | if (count === sl) { |
|
| 1181 | return true; |
|
| 1182 | } |
|
| 1183 | } |
|
| 1184 | return false; |
|
| 1185 | }, |
|
| 1186 | find: function (container) { |
|
| 1187 | var matches = [], i, l; |
|
| 1188 | var selectors = this._selectors; |
|