Index: recipes/web/html/selectors_basic_filtered.html |
diff --git a/recipes/web/html/selectors_basic_filtered.html b/recipes/web/html/selectors_basic_filtered.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b4c72d2e47fc48706d0126d5b6344a10c55a24ff |
--- /dev/null |
+++ b/recipes/web/html/selectors_basic_filtered.html |
@@ -0,0 +1,58 @@ |
+<!DOCTYPE html> |
+ |
+<html> |
+ <body> |
+ |
+ <ol> |
+ <li>Red</li> |
+ <li>Blue</li> |
+ <li>Green</li> |
+ <li>Yellow</li> |
+ <li>Orange</li> |
+ </ol> |
+ |
+ <script type="application/dart"> |
+ |
+ import 'dart:html'; |
+ |
+ void main() { |
+ List<Element> elements = queryAll('li'); |
+ assert(elements.length == 5); |
+ |
+ // :first |
+ assert(elements.first.innerHtml == 'Red'); |
+ |
+ // :last |
+ assert(elements.last.innerHtml == 'Orange'); |
+ |
+ // :even |
+ List<Element> evens = new List(); |
+ for (num i = 0; i < elements.length; i += 2) { |
+ evens.add(elements[i].innerHtml); |
+ } |
+ print(evens); |
+ |
+ // :odds |
+ List<Element> odds = new List(); |
+ for (num i = 1; i < elements.length; i += 2) { |
+ odds.add(elements[i].innerHtml); |
+ } |
+ print(odds); |
+ |
+ // :gt |
+ var gt2 = elements.getRange(3, elements.length); |
+ |
+ print(gt2.map((el) => el.innerHtml).toList()); |
+ |
+ // :lt |
+ var lt2 = elements.getRange(0, 2); |
+ print(lt2.map((el) => el.innerHtml).toList()); |
+ |
+ // :eq. Regular indexing works. |
+ assert(elements[1].innerHtml == 'Blue'); |
+ |
+ } |
+ </script> |
+ <script src="packages/browser/dart.js"></script> |
+ </body> |
+</html> |