HTMLAllCollection-basic.html 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <form>
  2. <input name="one" id="formcontrol" type="button" />
  3. <input name="two" id="formcontrol" type="text" />
  4. </form>
  5. <script src="../include.js"></script>
  6. <script>
  7. test(() => {
  8. println(document.all.constructor.name);
  9. println(`typeof document.all = ${typeof document.all}`);
  10. println(`equal to undefined = ${document.all == undefined}`);
  11. println(`equal to null = ${document.all == null}`);
  12. println(`strictly equal to undefined = ${document.all === undefined}`);
  13. println(`strictly equal to null = ${document.all === null}`);
  14. println(`is an html collection = ${document.all instanceof HTMLAllCollection}`);
  15. println(`length = ${document.all.length}`);
  16. println(`out of range (9) = ${document.all[9]}`);
  17. println(`out of range (-1) = ${document.all[-1]}`);
  18. // All items
  19. for (let i = 0; i < document.all.length; i++) {
  20. const item = document.all[i];
  21. println(`item #${i} = ${item}, id = '${item.id}', name = '${item.name}'`);
  22. }
  23. // String-like
  24. println(`From good string index = ${document.all["4"]}, name = ${document.all["4"].name}`);
  25. println(`From bad string index = ${document.all["50"]}`);
  26. // Single lookup
  27. println(`${document.all.one}, name ${document.all.one.name}`);
  28. println(`${document.all.two}, name ${document.all.two.name}`);
  29. // No match
  30. println(document.all.nomatch);
  31. // Matching multiple
  32. const subcollection = document.all.formcontrol;
  33. println(`${subcollection}, length = ${subcollection.length}`);
  34. println(`first = ${subcollection[0]}`);
  35. println(`second = ${subcollection[1]}`);
  36. // Explicit named item call
  37. println(`namedItem('one') = ${document.all.namedItem('one')}`);
  38. println(`namedItem('1') = ${document.all.namedItem('1')}`);
  39. println(`namedItem('not in list') = ${document.all.namedItem('not in list')}`);
  40. // Explicit item call
  41. println(`item() = ${document.all.item()}`);
  42. println(`item('1') = ${document.all.item('1')}`);
  43. println(`namedItem(2) = ${document.all.item(2)}`);
  44. });
  45. </script>