options.add vs innerHTML

JavaScript performance comparison

Test case created by Mike McCaughan

Info

According to MSDN, the preferred way of appending OPTIONs to a SELECT element is via the select.options.add or select.appendChild methods, not innerHTML, which they've not allowed on the element. There is a workaround involving replacing the innerHTML of a DIV element which wraps the SELECT and manipulating that. I'd like to see which is faster. The obvious case is in a dependent drop-down list widget.

Preparation code

<select id="parent">
<option value=""></option>
<option value="0">0:0</option>
<option value="1">0:1</option>
<option value="2">0:2</option>
<option value="3">0:3</option>
<option value="4">0:4</option>
<option value="5">0:5</option>
<option value="6">0:6</option>
<option value="7">0:7</option>
<option value="8">0:8</option>
<option value="9">0:9</option>
<option value="10">0:10</option>
<option value="11">0:11</option>
<option value="12">0:12</option>
<option value="13">0:13</option>
<option value="14">0:14</option>
<option value="15">0:15</option>
<option value="16">0:16</option>
<option value="17">0:17</option>
<option value="18">0:18</option>
<option value="19">0:19</option>
<option value="20">0:20</option>
<option value="21">0:21</option>
<option value="22">0:22</option>
<option value="23">0:23</option>
<option value="24">0:24</option>
<option value="25">0:25</option>
</select>
<select id="child">
<option value=""></option>
<option value="0" parent="0">0:0</option>
<option value="1" parent="0">0:1</option>
<option value="2" parent="0">0:2</option>
<option value="3" parent="0">0:3</option>
<option value="4" parent="0">0:4</option>
<option value="5" parent="0">0:5</option>
<option value="6" parent="0">0:6</option>
<option value="7" parent="0">0:7</option>
<option value="8" parent="0">0:8</option>
<option value="9" parent="0">0:9</option>
<option value="10" parent="0">0:10</option>
<option value="11" parent="0">0:11</option>
<option value="12" parent="0">0:12</option>
<option value="13" parent="0">0:13</option>
<option value="14" parent="0">0:14</option>
<option value="15" parent="0">0:15</option>
<option value="16" parent="0">0:16</option>
<option value="17" parent="0">0:17</option>
<option value="18" parent="0">0:18</option>
<option value="19" parent="0">0:19</option>
<option value="20" parent="0">0:20</option>
<option value="21" parent="0">0:21</option>
<option value="22" parent="0">0:22</option>
<option value="23" parent="0">0:23</option>
<option value="24" parent="0">0:24</option>
<option value="25" parent="0">0:25</option>
<option value="26" parent="0">0:26</option>
<option value="27" parent="0">0:27</option>
<option value="28" parent="0">0:28</option>
<option value="29" parent="0">0:29</option>
<option value="30" parent="0">0:30</option>
<option value="31" parent="0">0:31</option>
<option value="32" parent="0">0:32</option>
<option value="33" parent="0">0:33</option>
<option value="34" parent="0">0:34</option>
<option value="35" parent="0">0:35</option>
<option value="36" parent="0">0:36</option>
<option value="37" parent="0">0:37</option>
<option value="38" parent="0">0:38</option>
<option value="39" parent="0">0:39</option>
<option value="40" parent="0">0:40</option>
<option value="41" parent="0">0:41</option>
<option value="42" parent="0">0:42</option>
<option value="43" parent="0">0:43</option>
<option value="44" parent="0">0:44</option>
<option value="45" parent="0">0:45</option>
<option value="46" parent="0">0:46</option>
<option value="47" parent="0">0:47</option>
<option value="48" parent="0">0:48</option>
<option value="49" parent="0">0:49</option>
<option value="0" parent="1">1:0</option>
<option value="1" parent="1">1:1</option>
<option value="2" parent="1">1:2</option>
<option value="3" parent="1">1:3</option>
<option value="4" parent="1">1:4</option>
<option value="5" parent="1">1:5</option>
<option value="6" parent="1">1:6</option>
<option value="7" parent="1">1:7</option>
<option value="8" parent="1">1:8</option>
<option value="9" parent="1">1:9</option>
<option value="10" parent="1">1:10</option>
<option value="11" parent="1">1:11</option>
<option value="12" parent="1">1:12</option>
<option value="13" parent="1">1:13</option>
<option value="14" parent="1">1:14</option>
<option value="15" parent="1">1:15</option>
<option value="16" parent="1">1:16</option>
<option value="17" parent="1">1:17</option>
<option value="18" parent="1">1:18</option>
<option value="19" parent="1">1:19</option>
<option value="20" parent="1">1:20</option>
<option value="21" parent="1">1:21</option>
<option value="22" parent="1">1:22</option>
<option value="23" parent="1">1:23</option>
<option value="24" parent="1">1:24</option>
<option value="25" parent="1">1:25</option>
<option value="26" parent="1">1:26</option>
<option value="27" parent="1">1:27</option>
<option value="28" parent="1">1:28</option>
<option value="29" parent="1">1:29</option>
<option value="30" parent="1">1:30</option>
<option value="31" parent="1">1:31</option>
<option value="32" parent="1">1:32</option>
<option value="33" parent="1">1:33</option>
<option value="34" parent="1">1:34</option>
<option value="35" parent="1">1:35</option>
<option value="36" parent="1">1:36</option>
<option value="37" parent="1">1:37</option>
<option value="38" parent="1">1:38</option>
<option value="39" parent="1">1:39</option>
<option value="40" parent="1">1:40</option>
<option value="41" parent="1">1:41</option>
<option value="42" parent="1">1:42</option>
<option value="43" parent="1">1:43</option>
<option value="44" parent="1">1:44</option>
<option value="45" parent="1">1:45</option>
<option value="46" parent="1">1:46</option>
<option value="47" parent="1">1:47</option>
<option value="48" parent="1">1:48</option>
<option value="49" parent="1">1:49</option>
<option value="0" parent="2">2:0</option>
<option value="1" parent="2">2:1</option>
<option value="2" parent="2">2:2</option>
<option value="3" parent="2">2:3</option>
<option value="4" parent="2">2:4</option>
<option value="5" parent="2">2:5</option>
<option value="6" parent="2">2:6</option>
<option value="7" parent="2">2:7</option>
<option value="8" parent="2">2:8</option>
<option value="9" parent="2">2:9</option>
<option value="10" parent="2">2:10</option>
<option value="11" parent="2">2:11</option>
<option value="12" parent="2">2:12</option>
<option value="13" parent="2">2:13</option>
<option value="14" parent="2">2:14</option>
<option value="15" parent="2">2:15</option>
<option value="16" parent="2">2:16</option>
<option value="17" parent="2">2:17</option>
<option value="18" parent="2">2:18</option>
<option value="19" parent="2">2:19</option>
<option value="20" parent="2">2:20</option>
<option value="21" parent="2">2:21</option>
<option value="22" parent="2">2:22</option>
<option value="23" parent="2">2:23</option>
<option value="24" parent="2">2:24</option>
<option value="25" parent="2">2:25</option>
<option value="26" parent="2">2:26</option>
<option value="27" parent="2">2:27</option>
<option value="28" parent="2">2:28</option>
<option value="29" parent="2">2:29</option>
<option value="30" parent="2">2:30</option>
<option value="31" parent="2">2:31</option>
<option value="32" parent="2">2:32</option>
<option value="33" parent="2">2:33</option>
<option value="34" parent="2">2:34</option>
<option value="35" parent="2">2:35</option>
<option value="36" parent="2">2:36</option>
<option value="37" parent="2">2:37</option>
<option value="38" parent="2">2:38</option>
<option value="39" parent="2">2:39</option>
<option value="40" parent="2">2:40</option>
<option value="41" parent="2">2:41</option>
<option value="42" parent="2">2:42</option>
<option value="43" parent="2">2:43</option>
<option value="44" parent="2">2:44</option>
<option value="45" parent="2">2:45</option>
<option value="46" parent="2">2:46</option>
<option value="47" parent="2">2:47</option>
<option value="48" parent="2">2:48</option>
<option value="49" parent="2">2:49</option>
<option value="0" parent="3">3:0</option>
<option value="1" parent="3">3:1</option>
<option value="2" parent="3">3:2</option>
<option value="3" parent="3">3:3</option>
<option value="4" parent="3">3:4</option>
<option value="5" parent="3">3:5</option>
<option value="6" parent="3">3:6</option>
<option value="7" parent="3">3:7</option>
<option value="8" parent="3">3:8</option>
<option value="9" parent="3">3:9</option>
<option value="10" parent="3">3:10</option>
<option value="11" parent="3">3:11</option>
<option value="12" parent="3">3:12</option>
<option value="13" parent="3">3:13</option>
<option value="14" parent="3">3:14</option>
<option value="15" parent="3">3:15</option>
<option value="16" parent="3">3:16</option>
<option value="17" parent="3">3:17</option>
<option value="18" parent="3">3:18</option>
<option value="19" parent="3">3:19</option>
<option value="20" parent="3">3:20</option>
<option value="21" parent="3">3:21</option>
<option value="22" parent="3">3:22</option>
<option value="23" parent="3">3:23</option>
<option value="24" parent="3">3:24</option>
<option value="25" parent="3">3:25</option>
<option value="26" parent="3">3:26</option>
<option value="27" parent="3">3:27</option>
<option value="28" parent="3">3:28</option>
<option value="29" parent="3">3:29</option>
<option value="30" parent="3">3:30</option>
<option value="31" parent="3">3:31</option>
<option value="32" parent="3">3:32</option>
<option value="33" parent="3">3:33</option>
<option value="34" parent="3">3:34</option>
<option value="35" parent="3">3:35</option>
<option value="36" parent="3">3:36</option>
<option value="37" parent="3">3:37</option>
<option value="38" parent="3">3:38</option>
<option value="39" parent="3">3:39</option>
<option value="40" parent="3">3:40</option>
<option value="41" parent="3">3:41</option>
<option value="42" parent="3">3:42</option>
<option value="43" parent="3">3:43</option>
<option value="44" parent="3">3:44</option>
<option value="45" parent="3">3:45</option>
<option value="46" parent="3">3:46</option>
<option value="47" parent="3">3:47</option>
<option value="48" parent="3">3:48</option>
<option value="49" parent="3">3:49</option>
<option value="0" parent="4">4:0</option>
<option value="1" parent="4">4:1</option>
<option value="2" parent="4">4:2</option>
<option value="3" parent="4">4:3</option>
<option value="4" parent="4">4:4</option>
<option value="5" parent="4">4:5</option>
<option value="6" parent="4">4:6</option>
<option value="7" parent="4">4:7</option>
<option value="8" parent="4">4:8</option>
<option value="9" parent="4">4:9</option>
<option value="10" parent="4">4:10</option>
<option value="11" parent="4">4:11</option>
<option value="12" parent="4">4:12</option>
<option value="13" parent="4">4:13</option>
<option value="14" parent="4">4:14</option>
<option value="15" parent="4">4:15</option>
<option value="16" parent="4">4:16</option>
<option value="17" parent="4">4:17</option>
<option value="18" parent="4">4:18</option>
<option value="19" parent="4">4:19</option>
<option value="20" parent="4">4:20</option>
<option value="21" parent="4">4:21</option>
<option value="22" parent="4">4:22</option>
<option value="23" parent="4">4:23</option>
<option value="24" parent="4">4:24</option>
<option value="25" parent="4">4:25</option>
<option value="26" parent="4">4:26</option>
<option value="27" parent="4">4:27</option>
<option value="28" parent="4">4:28</option>
<option value="29" parent="4">4:29</option>
<option value="30" parent="4">4:30</option>
<option value="31" parent="4">4:31</option>
<option value="32" parent="4">4:32</option>
<option value="33" parent="4">4:33</option>
<option value="34" parent="4">4:34</option>
<option value="35" parent="4">4:35</option>
<option value="36" parent="4">4:36</option>
<option value="37" parent="4">4:37</option>
<option value="38" parent="4">4:38</option>
<option value="39" parent="4">4:39</option>
<option value="40" parent="4">4:40</option>
<option value="41" parent="4">4:41</option>
<option value="42" parent="4">4:42</option>
<option value="43" parent="4">4:43</option>
<option value="44" parent="4">4:44</option>
<option value="45" parent="4">4:45</option>
<option value="46" parent="4">4:46</option>
<option value="47" parent="4">4:47</option>
<option value="48" parent="4">4:48</option>
<option value="49" parent="4">4:49</option>
<option value="0" parent="5">5:0</option>
<option value="1" parent="5">5:1</option>
<option value="2" parent="5">5:2</option>
<option value="3" parent="5">5:3</option>
<option value="4" parent="5">5:4</option>
<option value="5" parent="5">5:5</option>
<option value="6" parent="5">5:6</option>
<option value="7" parent="5">5:7</option>
<option value="8" parent="5">5:8</option>
<option value="9" parent="5">5:9</option>
<option value="10" parent="5">5:10</option>
<option value="11" parent="5">5:11</option>
<option value="12" parent="5">5:12</option>
<option value="13" parent="5">5:13</option>
<option value="14" parent="5">5:14</option>
<option value="15" parent="5">5:15</option>
<option value="16" parent="5">5:16</option>
<option value="17" parent="5">5:17</option>
<option value="18" parent="5">5:18</option>
<option value="19" parent="5">5:19</option>
<option value="20" parent="5">5:20</option>
<option value="21" parent="5">5:21</option>
<option value="22" parent="5">5:22</option>
<option value="23" parent="5">5:23</option>
<option value="24" parent="5">5:24</option>
<option value="25" parent="5">5:25</option>
<option value="26" parent="5">5:26</option>
<option value="27" parent="5">5:27</option>
<option value="28" parent="5">5:28</option>
<option value="29" parent="5">5:29</option>
<option value="30" parent="5">5:30</option>
<option value="31" parent="5">5:31</option>
<option value="32" parent="5">5:32</option>
<option value="33" parent="5">5:33</option>
<option value="34" parent="5">5:34</option>
<option value="35" parent="5">5:35</option>
<option value="36" parent="5">5:36</option>
<option value="37" parent="5">5:37</option>
<option value="38" parent="5">5:38</option>
<option value="39" parent="5">5:39</option>
<option value="40" parent="5">5:40</option>
<option value="41" parent="5">5:41</option>
<option value="42" parent="5">5:42</option>
<option value="43" parent="5">5:43</option>
<option value="44" parent="5">5:44</option>
<option value="45" parent="5">5:45</option>
<option value="46" parent="5">5:46</option>
<option value="47" parent="5">5:47</option>
<option value="48" parent="5">5:48</option>
<option value="49" parent="5">5:49</option>
<option value="0" parent="6">6:0</option>
<option value="1" parent="6">6:1</option>
<option value="2" parent="6">6:2</option>
<option value="3" parent="6">6:3</option>
<option value="4" parent="6">6:4</option>
<option value="5" parent="6">6:5</option>
<option value="6" parent="6">6:6</option>
<option value="7" parent="6">6:7</option>
<option value="8" parent="6">6:8</option>
<option value="9" parent="6">6:9</option>
<option value="10" parent="6">6:10</option>
<option value="11" parent="6">6:11</option>
<option value="12" parent="6">6:12</option>
<option value="13" parent="6">6:13</option>
<option value="14" parent="6">6:14</option>
<option value="15" parent="6">6:15</option>
<option value="16" parent="6">6:16</option>
<option value="17" parent="6">6:17</option>
<option value="18" parent="6">6:18</option>
<option value="19" parent="6">6:19</option>
<option value="20" parent="6">6:20</option>
<option value="21" parent="6">6:21</option>
<option value="22" parent="6">6:22</option>
<option value="23" parent="6">6:23</option>
<option value="24" parent="6">6:24</option>
<option value="25" parent="6">6:25</option>
<option value="26" parent="6">6:26</option>
<option value="27" parent="6">6:27</option>
<option value="28" parent="6">6:28</option>
<option value="29" parent="6">6:29</option>
<option value="30" parent="6">6:30</option>
<option value="31" parent="6">6:31</option>
<option value="32" parent="6">6:32</option>
<option value="33" parent="6">6:33</option>
<option value="34" parent="6">6:34</option>
<option value="35" parent="6">6:35</option>
<option value="36" parent="6">6:36</option>
<option value="37" parent="6">6:37</option>
<option value="38" parent="6">6:38</option>
<option value="39" parent="6">6:39</option>
<option value="40" parent="6">6:40</option>
<option value="41" parent="6">6:41</option>
<option value="42" parent="6">6:42</option>
<option value="43" parent="6">6:43</option>
<option value="44" parent="6">6:44</option>
<option value="45" parent="6">6:45</option>
<option value="46" parent="6">6:46</option>
<option value="47" parent="6">6:47</option>
<option value="48" parent="6">6:48</option>
<option value="49" parent="6">6:49</option>
<option value="0" parent="7">7:0</option>
<option value="1" parent="7">7:1</option>
<option value="2" parent="7">7:2</option>
<option value="3" parent="7">7:3</option>
<option value="4" parent="7">7:4</option>
<option value="5" parent="7">7:5</option>
<option value="6" parent="7">7:6</option>
<option value="7" parent="7">7:7</option>
<option value="8" parent="7">7:8</option>
<option value="9" parent="7">7:9</option>
<option value="10" parent="7">7:10</option>
<option value="11" parent="7">7:11</option>
<option value="12" parent="7">7:12</option>
<option value="13" parent="7">7:13</option>
<option value="14" parent="7">7:14</option>
<option value="15" parent="7">7:15</option>
<option value="16" parent="7">7:16</option>
<option value="17" parent="7">7:17</option>
<option value="18" parent="7">7:18</option>
<option value="19" parent="7">7:19</option>
<option value="20" parent="7">7:20</option>
<option value="21" parent="7">7:21</option>
<option value="22" parent="7">7:22</option>
<option value="23" parent="7">7:23</option>
<option value="24" parent="7">7:24</option>
<option value="25" parent="7">7:25</option>
<option value="26" parent="7">7:26</option>
<option value="27" parent="7">7:27</option>
<option value="28" parent="7">7:28</option>
<option value="29" parent="7">7:29</option>
<option value="30" parent="7">7:30</option>
<option value="31" parent="7">7:31</option>
<option value="32" parent="7">7:32</option>
<option value="33" parent="7">7:33</option>
<option value="34" parent="7">7:34</option>
<option value="35" parent="7">7:35</option>
<option value="36" parent="7">7:36</option>
<option value="37" parent="7">7:37</option>
<option value="38" parent="7">7:38</option>
<option value="39" parent="7">7:39</option>
<option value="40" parent="7">7:40</option>
<option value="41" parent="7">7:41</option>
<option value="42" parent="7">7:42</option>
<option value="43" parent="7">7:43</option>
<option value="44" parent="7">7:44</option>
<option value="45" parent="7">7:45</option>
<option value="46" parent="7">7:46</option>
<option value="47" parent="7">7:47</option>
<option value="48" parent="7">7:48</option>
<option value="49" parent="7">7:49</option>
<option value="0" parent="8">8:0</option>
<option value="1" parent="8">8:1</option>
<option value="2" parent="8">8:2</option>
<option value="3" parent="8">8:3</option>
<option value="4" parent="8">8:4</option>
<option value="5" parent="8">8:5</option>
<option value="6" parent="8">8:6</option>
<option value="7" parent="8">8:7</option>
<option value="8" parent="8">8:8</option>
<option value="9" parent="8">8:9</option>
<option value="10" parent="8">8:10</option>
<option value="11" parent="8">8:11</option>
<option value="12" parent="8">8:12</option>
<option value="13" parent="8">8:13</option>
<option value="14" parent="8">8:14</option>
<option value="15" parent="8">8:15</option>
<option value="16" parent="8">8:16</option>
<option value="17" parent="8">8:17</option>
<option value="18" parent="8">8:18</option>
<option value="19" parent="8">8:19</option>
<option value="20" parent="8">8:20</option>
<option value="21" parent="8">8:21</option>
<option value="22" parent="8">8:22</option>
<option value="23" parent="8">8:23</option>
<option value="24" parent="8">8:24</option>
<option value="25" parent="8">8:25</option>
<option value="26" parent="8">8:26</option>
<option value="27" parent="8">8:27</option>
<option value="28" parent="8">8:28</option>
<option value="29" parent="8">8:29</option>
<option value="30" parent="8">8:30</option>
<option value="31" parent="8">8:31</option>
<option value="32" parent="8">8:32</option>
<option value="33" parent="8">8:33</option>
<option value="34" parent="8">8:34</option>
<option value="35" parent="8">8:35</option>
<option value="36" parent="8">8:36</option>
<option value="37" parent="8">8:37</option>
<option value="38" parent="8">8:38</option>
<option value="39" parent="8">8:39</option>
<option value="40" parent="8">8:40</option>
<option value="41" parent="8">8:41</option>
<option value="42" parent="8">8:42</option>
<option value="43" parent="8">8:43</option>
<option value="44" parent="8">8:44</option>
<option value="45" parent="8">8:45</option>
<option value="46" parent="8">8:46</option>
<option value="47" parent="8">8:47</option>
<option value="48" parent="8">8:48</option>
<option value="49" parent="8">8:49</option>
<option value="0" parent="9">9:0</option>
<option value="1" parent="9">9:1</option>
<option value="2" parent="9">9:2</option>
<option value="3" parent="9">9:3</option>
<option value="4" parent="9">9:4</option>
<option value="5" parent="9">9:5</option>
<option value="6" parent="9">9:6</option>
<option value="7" parent="9">9:7</option>
<option value="8" parent="9">9:8</option>
<option value="9" parent="9">9:9</option>
<option value="10" parent="9">9:10</option>
<option value="11" parent="9">9:11</option>
<option value="12" parent="9">9:12</option>
<option value="13" parent="9">9:13</option>
<option value="14" parent="9">9:14</option>
<option value="15" parent="9">9:15</option>
<option value="16" parent="9">9:16</option>
<option value="17" parent="9">9:17</option>
<option value="18" parent="9">9:18</option>
<option value="19" parent="9">9:19</option>
<option value="20" parent="9">9:20</option>
<option value="21" parent="9">9:21</option>
<option value="22" parent="9">9:22</option>
<option value="23" parent="9">9:23</option>
<option value="24" parent="9">9:24</option>
<option value="25" parent="9">9:25</option>
<option value="26" parent="9">9:26</option>
<option value="27" parent="9">9:27</option>
<option value="28" parent="9">9:28</option>
<option value="29" parent="9">9:29</option>
<option value="30" parent="9">9:30</option>
<option value="31" parent="9">9:31</option>
<option value="32" parent="9">9:32</option>
<option value="33" parent="9">9:33</option>
<option value="34" parent="9">9:34</option>
<option value="35" parent="9">9:35</option>
<option value="36" parent="9">9:36</option>
<option value="37" parent="9">9:37</option>
<option value="38" parent="9">9:38</option>
<option value="39" parent="9">9:39</option>
<option value="40" parent="9">9:40</option>
<option value="41" parent="9">9:41</option>
<option value="42" parent="9">9:42</option>
<option value="43" parent="9">9:43</option>
<option value="44" parent="9">9:44</option>
<option value="45" parent="9">9:45</option>
<option value="46" parent="9">9:46</option>
<option value="47" parent="9">9:47</option>
<option value="48" parent="9">9:48</option>
<option value="49" parent="9">9:49</option>
<option value="0" parent="10">10:0</option>
<option value="1" parent="10">10:1</option>
<option value="2" parent="10">10:2</option>
<option value="3" parent="10">10:3</option>
<option value="4" parent="10">10:4</option>
<option value="5" parent="10">10:5</option>
<option value="6" parent="10">10:6</option>
<option value="7" parent="10">10:7</option>
<option value="8" parent="10">10:8</option>
<option value="9" parent="10">10:9</option>
<option value="10" parent="10">10:10</option>
<option value="11" parent="10">10:11</option>
<option value="12" parent="10">10:12</option>
<option value="13" parent="10">10:13</option>
<option value="14" parent="10">10:14</option>
<option value="15" parent="10">10:15</option>
<option value="16" parent="10">10:16</option>
<option value="17" parent="10">10:17</option>
<option value="18" parent="10">10:18</option>
<option value="19" parent="10">10:19</option>
<option value="20" parent="10">10:20</option>
<option value="21" parent="10">10:21</option>
<option value="22" parent="10">10:22</option>
<option value="23" parent="10">10:23</option>
<option value="24" parent="10">10:24</option>
<option value="25" parent="10">10:25</option>
<option value="26" parent="10">10:26</option>
<option value="27" parent="10">10:27</option>
<option value="28" parent="10">10:28</option>
<option value="29" parent="10">10:29</option>
<option value="30" parent="10">10:30</option>
<option value="31" parent="10">10:31</option>
<option value="32" parent="10">10:32</option>
<option value="33" parent="10">10:33</option>
<option value="34" parent="10">10:34</option>
<option value="35" parent="10">10:35</option>
<option value="36" parent="10">10:36</option>
<option value="37" parent="10">10:37</option>
<option value="38" parent="10">10:38</option>
<option value="39" parent="10">10:39</option>
<option value="40" parent="10">10:40</option>
<option value="41" parent="10">10:41</option>
<option value="42" parent="10">10:42</option>
<option value="43" parent="10">10:43</option>
<option value="44" parent="10">10:44</option>
<option value="45" parent="10">10:45</option>
<option value="46" parent="10">10:46</option>
<option value="47" parent="10">10:47</option>
<option value="48" parent="10">10:48</option>
<option value="49" parent="10">10:49</option>
<option value="0" parent="11">11:0</option>
<option value="1" parent="11">11:1</option>
<option value="2" parent="11">11:2</option>
<option value="3" parent="11">11:3</option>
<option value="4" parent="11">11:4</option>
<option value="5" parent="11">11:5</option>
<option value="6" parent="11">11:6</option>
<option value="7" parent="11">11:7</option>
<option value="8" parent="11">11:8</option>
<option value="9" parent="11">11:9</option>
<option value="10" parent="11">11:10</option>
<option value="11" parent="11">11:11</option>
<option value="12" parent="11">11:12</option>
<option value="13" parent="11">11:13</option>
<option value="14" parent="11">11:14</option>
<option value="15" parent="11">11:15</option>
<option value="16" parent="11">11:16</option>
<option value="17" parent="11">11:17</option>
<option value="18" parent="11">11:18</option>
<option value="19" parent="11">11:19</option>
<option value="20" parent="11">11:20</option>
<option value="21" parent="11">11:21</option>
<option value="22" parent="11">11:22</option>
<option value="23" parent="11">11:23</option>
<option value="24" parent="11">11:24</option>
<option value="25" parent="11">11:25</option>
<option value="26" parent="11">11:26</option>
<option value="27" parent="11">11:27</option>
<option value="28" parent="11">11:28</option>
<option value="29" parent="11">11:29</option>
<option value="30" parent="11">11:30</option>
<option value="31" parent="11">11:31</option>
<option value="32" parent="11">11:32</option>
<option value="33" parent="11">11:33</option>
<option value="34" parent="11">11:34</option>
<option value="35" parent="11">11:35</option>
<option value="36" parent="11">11:36</option>
<option value="37" parent="11">11:37</option>
<option value="38" parent="11">11:38</option>
<option value="39" parent="11">11:39</option>
<option value="40" parent="11">11:40</option>
<option value="41" parent="11">11:41</option>
<option value="42" parent="11">11:42</option>
<option value="43" parent="11">11:43</option>
<option value="44" parent="11">11:44</option>
<option value="45" parent="11">11:45</option>
<option value="46" parent="11">11:46</option>
<option value="47" parent="11">11:47</option>
<option value="48" parent="11">11:48</option>
<option value="49" parent="11">11:49</option>
<option value="0" parent="12">12:0</option>
<option value="1" parent="12">12:1</option>
<option value="2" parent="12">12:2</option>
<option value="3" parent="12">12:3</option>
<option value="4" parent="12">12:4</option>
<option value="5" parent="12">12:5</option>
<option value="6" parent="12">12:6</option>
<option value="7" parent="12">12:7</option>
<option value="8" parent="12">12:8</option>
<option value="9" parent="12">12:9</option>
<option value="10" parent="12">12:10</option>
<option value="11" parent="12">12:11</option>
<option value="12" parent="12">12:12</option>
<option value="13" parent="12">12:13</option>
<option value="14" parent="12">12:14</option>
<option value="15" parent="12">12:15</option>
<option value="16" parent="12">12:16</option>
<option value="17" parent="12">12:17</option>
<option value="18" parent="12">12:18</option>
<option value="19" parent="12">12:19</option>
<option value="20" parent="12">12:20</option>
<option value="21" parent="12">12:21</option>
<option value="22" parent="12">12:22</option>
<option value="23" parent="12">12:23</option>
<option value="24" parent="12">12:24</option>
<option value="25" parent="12">12:25</option>
<option value="26" parent="12">12:26</option>
<option value="27" parent="12">12:27</option>
<option value="28" parent="12">12:28</option>
<option value="29" parent="12">12:29</option>
<option value="30" parent="12">12:30</option>
<option value="31" parent="12">12:31</option>
<option value="32" parent="12">12:32</option>
<option value="33" parent="12">12:33</option>
<option value="34" parent="12">12:34</option>
<option value="35" parent="12">12:35</option>
<option value="36" parent="12">12:36</option>
<option value="37" parent="12">12:37</option>
<option value="38" parent="12">12:38</option>
<option value="39" parent="12">12:39</option>
<option value="40" parent="12">12:40</option>
<option value="41" parent="12">12:41</option>
<option value="42" parent="12">12:42</option>
<option value="43" parent="12">12:43</option>
<option value="44" parent="12">12:44</option>
<option value="45" parent="12">12:45</option>
<option value="46" parent="12">12:46</option>
<option value="47" parent="12">12:47</option>
<option value="48" parent="12">12:48</option>
<option value="49" parent="12">12:49</option>
<option value="0" parent="13">13:0</option>
<option value="1" parent="13">13:1</option>
<option value="2" parent="13">13:2</option>
<option value="3" parent="13">13:3</option>
<option value="4" parent="13">13:4</option>
<option value="5" parent="13">13:5</option>
<option value="6" parent="13">13:6</option>
<option value="7" parent="13">13:7</option>
<option value="8" parent="13">13:8</option>
<option value="9" parent="13">13:9</option>
<option value="10" parent="13">13:10</option>
<option value="11" parent="13">13:11</option>
<option value="12" parent="13">13:12</option>
<option value="13" parent="13">13:13</option>
<option value="14" parent="13">13:14</option>
<option value="15" parent="13">13:15</option>
<option value="16" parent="13">13:16</option>
<option value="17" parent="13">13:17</option>
<option value="18" parent="13">13:18</option>
<option value="19" parent="13">13:19</option>
<option value="20" parent="13">13:20</option>
<option value="21" parent="13">13:21</option>
<option value="22" parent="13">13:22</option>
<option value="23" parent="13">13:23</option>
<option value="24" parent="13">13:24</option>
<option value="25" parent="13">13:25</option>
<option value="26" parent="13">13:26</option>
<option value="27" parent="13">13:27</option>
<option value="28" parent="13">13:28</option>
<option value="29" parent="13">13:29</option>
<option value="30" parent="13">13:30</option>
<option value="31" parent="13">13:31</option>
<option value="32" parent="13">13:32</option>
<option value="33" parent="13">13:33</option>
<option value="34" parent="13">13:34</option>
<option value="35" parent="13">13:35</option>
<option value="36" parent="13">13:36</option>
<option value="37" parent="13">13:37</option>
<option value="38" parent="13">13:38</option>
<option value="39" parent="13">13:39</option>
<option value="40" parent="13">13:40</option>
<option value="41" parent="13">13:41</option>
<option value="42" parent="13">13:42</option>
<option value="43" parent="13">13:43</option>
<option value="44" parent="13">13:44</option>
<option value="45" parent="13">13:45</option>
<option value="46" parent="13">13:46</option>
<option value="47" parent="13">13:47</option>
<option value="48" parent="13">13:48</option>
<option value="49" parent="13">13:49</option>
<option value="0" parent="14">14:0</option>
<option value="1" parent="14">14:1</option>
<option value="2" parent="14">14:2</option>
<option value="3" parent="14">14:3</option>
<option value="4" parent="14">14:4</option>
<option value="5" parent="14">14:5</option>
<option value="6" parent="14">14:6</option>
<option value="7" parent="14">14:7</option>
<option value="8" parent="14">14:8</option>
<option value="9" parent="14">14:9</option>
<option value="10" parent="14">14:10</option>
<option value="11" parent="14">14:11</option>
<option value="12" parent="14">14:12</option>
<option value="13" parent="14">14:13</option>
<option value="14" parent="14">14:14</option>
<option value="15" parent="14">14:15</option>
<option value="16" parent="14">14:16</option>
<option value="17" parent="14">14:17</option>
<option value="18" parent="14">14:18</option>
<option value="19" parent="14">14:19</option>
<option value="20" parent="14">14:20</option>
<option value="21" parent="14">14:21</option>
<option value="22" parent="14">14:22</option>
<option value="23" parent="14">14:23</option>
<option value="24" parent="14">14:24</option>
<option value="25" parent="14">14:25</option>
<option value="26" parent="14">14:26</option>
<option value="27" parent="14">14:27</option>
<option value="28" parent="14">14:28</option>
<option value="29" parent="14">14:29</option>
<option value="30" parent="14">14:30</option>
<option value="31" parent="14">14:31</option>
<option value="32" parent="14">14:32</option>
<option value="33" parent="14">14:33</option>
<option value="34" parent="14">14:34</option>
<option value="35" parent="14">14:35</option>
<option value="36" parent="14">14:36</option>
<option value="37" parent="14">14:37</option>
<option value="38" parent="14">14:38</option>
<option value="39" parent="14">14:39</option>
<option value="40" parent="14">14:40</option>
<option value="41" parent="14">14:41</option>
<option value="42" parent="14">14:42</option>
<option value="43" parent="14">14:43</option>
<option value="44" parent="14">14:44</option>
<option value="45" parent="14">14:45</option>
<option value="46" parent="14">14:46</option>
<option value="47" parent="14">14:47</option>
<option value="48" parent="14">14:48</option>
<option value="49" parent="14">14:49</option>
<option value="0" parent="15">15:0</option>
<option value="1" parent="15">15:1</option>
<option value="2" parent="15">15:2</option>
<option value="3" parent="15">15:3</option>
<option value="4" parent="15">15:4</option>
<option value="5" parent="15">15:5</option>
<option value="6" parent="15">15:6</option>
<option value="7" parent="15">15:7</option>
<option value="8" parent="15">15:8</option>
<option value="9" parent="15">15:9</option>
<option value="10" parent="15">15:10</option>
<option value="11" parent="15">15:11</option>
<option value="12" parent="15">15:12</option>
<option value="13" parent="15">15:13</option>
<option value="14" parent="15">15:14</option>
<option value="15" parent="15">15:15</option>
<option value="16" parent="15">15:16</option>
<option value="17" parent="15">15:17</option>
<option value="18" parent="15">15:18</option>
<option value="19" parent="15">15:19</option>
<option value="20" parent="15">15:20</option>
<option value="21" parent="15">15:21</option>
<option value="22" parent="15">15:22</option>
<option value="23" parent="15">15:23</option>
<option value="24" parent="15">15:24</option>
<option value="25" parent="15">15:25</option>
<option value="26" parent="15">15:26</option>
<option value="27" parent="15">15:27</option>
<option value="28" parent="15">15:28</option>
<option value="29" parent="15">15:29</option>
<option value="30" parent="15">15:30</option>
<option value="31" parent="15">15:31</option>
<option value="32" parent="15">15:32</option>
<option value="33" parent="15">15:33</option>
<option value="34" parent="15">15:34</option>
<option value="35" parent="15">15:35</option>
<option value="36" parent="15">15:36</option>
<option value="37" parent="15">15:37</option>
<option value="38" parent="15">15:38</option>
<option value="39" parent="15">15:39</option>
<option value="40" parent="15">15:40</option>
<option value="41" parent="15">15:41</option>
<option value="42" parent="15">15:42</option>
<option value="43" parent="15">15:43</option>
<option value="44" parent="15">15:44</option>
<option value="45" parent="15">15:45</option>
<option value="46" parent="15">15:46</option>
<option value="47" parent="15">15:47</option>
<option value="48" parent="15">15:48</option>
<option value="49" parent="15">15:49</option>
<option value="0" parent="16">16:0</option>
<option value="1" parent="16">16:1</option>
<option value="2" parent="16">16:2</option>
<option value="3" parent="16">16:3</option>
<option value="4" parent="16">16:4</option>
<option value="5" parent="16">16:5</option>
<option value="6" parent="16">16:6</option>
<option value="7" parent="16">16:7</option>
<option value="8" parent="16">16:8</option>
<option value="9" parent="16">16:9</option>
<option value="10" parent="16">16:10</option>
<option value="11" parent="16">16:11</option>
<option value="12" parent="16">16:12</option>
<option value="13" parent="16">16:13</option>
<option value="14" parent="16">16:14</option>
<option value="15" parent="16">16:15</option>
<option value="16" parent="16">16:16</option>
<option value="17" parent="16">16:17</option>
<option value="18" parent="16">16:18</option>
<option value="19" parent="16">16:19</option>
<option value="20" parent="16">16:20</option>
<option value="21" parent="16">16:21</option>
<option value="22" parent="16">16:22</option>
<option value="23" parent="16">16:23</option>
<option value="24" parent="16">16:24</option>
<option value="25" parent="16">16:25</option>
<option value="26" parent="16">16:26</option>
<option value="27" parent="16">16:27</option>
<option value="28" parent="16">16:28</option>
<option value="29" parent="16">16:29</option>
<option value="30" parent="16">16:30</option>
<option value="31" parent="16">16:31</option>
<option value="32" parent="16">16:32</option>
<option value="33" parent="16">16:33</option>
<option value="34" parent="16">16:34</option>
<option value="35" parent="16">16:35</option>
<option value="36" parent="16">16:36</option>
<option value="37" parent="16">16:37</option>
<option value="38" parent="16">16:38</option>
<option value="39" parent="16">16:39</option>
<option value="40" parent="16">16:40</option>
<option value="41" parent="16">16:41</option>
<option value="42" parent="16">16:42</option>
<option value="43" parent="16">16:43</option>
<option value="44" parent="16">16:44</option>
<option value="45" parent="16">16:45</option>
<option value="46" parent="16">16:46</option>
<option value="47" parent="16">16:47</option>
<option value="48" parent="16">16:48</option>
<option value="49" parent="16">16:49</option>
<option value="0" parent="17">17:0</option>
<option value="1" parent="17">17:1</option>
<option value="2" parent="17">17:2</option>
<option value="3" parent="17">17:3</option>
<option value="4" parent="17">17:4</option>
<option value="5" parent="17">17:5</option>
<option value="6" parent="17">17:6</option>
<option value="7" parent="17">17:7</option>
<option value="8" parent="17">17:8</option>
<option value="9" parent="17">17:9</option>
<option value="10" parent="17">17:10</option>
<option value="11" parent="17">17:11</option>
<option value="12" parent="17">17:12</option>
<option value="13" parent="17">17:13</option>
<option value="14" parent="17">17:14</option>
<option value="15" parent="17">17:15</option>
<option value="16" parent="17">17:16</option>
<option value="17" parent="17">17:17</option>
<option value="18" parent="17">17:18</option>
<option value="19" parent="17">17:19</option>
<option value="20" parent="17">17:20</option>
<option value="21" parent="17">17:21</option>
<option value="22" parent="17">17:22</option>
<option value="23" parent="17">17:23</option>
<option value="24" parent="17">17:24</option>
<option value="25" parent="17">17:25</option>
<option value="26" parent="17">17:26</option>
<option value="27" parent="17">17:27</option>
<option value="28" parent="17">17:28</option>
<option value="29" parent="17">17:29</option>
<option value="30" parent="17">17:30</option>
<option value="31" parent="17">17:31</option>
<option value="32" parent="17">17:32</option>
<option value="33" parent="17">17:33</option>
<option value="34" parent="17">17:34</option>
<option value="35" parent="17">17:35</option>
<option value="36" parent="17">17:36</option>
<option value="37" parent="17">17:37</option>
<option value="38" parent="17">17:38</option>
<option value="39" parent="17">17:39</option>
<option value="40" parent="17">17:40</option>
<option value="41" parent="17">17:41</option>
<option value="42" parent="17">17:42</option>
<option value="43" parent="17">17:43</option>
<option value="44" parent="17">17:44</option>
<option value="45" parent="17">17:45</option>
<option value="46" parent="17">17:46</option>
<option value="47" parent="17">17:47</option>
<option value="48" parent="17">17:48</option>
<option value="49" parent="17">17:49</option>
<option value="0" parent="18">18:0</option>
<option value="1" parent="18">18:1</option>
<option value="2" parent="18">18:2</option>
<option value="3" parent="18">18:3</option>
<option value="4" parent="18">18:4</option>
<option value="5" parent="18">18:5</option>
<option value="6" parent="18">18:6</option>
<option value="7" parent="18">18:7</option>
<option value="8" parent="18">18:8</option>
<option value="9" parent="18">18:9</option>
<option value="10" parent="18">18:10</option>
<option value="11" parent="18">18:11</option>
<option value="12" parent="18">18:12</option>
<option value="13" parent="18">18:13</option>
<option value="14" parent="18">18:14</option>
<option value="15" parent="18">18:15</option>
<option value="16" parent="18">18:16</option>
<option value="17" parent="18">18:17</option>
<option value="18" parent="18">18:18</option>
<option value="19" parent="18">18:19</option>
<option value="20" parent="18">18:20</option>
<option value="21" parent="18">18:21</option>
<option value="22" parent="18">18:22</option>
<option value="23" parent="18">18:23</option>
<option value="24" parent="18">18:24</option>
<option value="25" parent="18">18:25</option>
<option value="26" parent="18">18:26</option>
<option value="27" parent="18">18:27</option>
<option value="28" parent="18">18:28</option>
<option value="29" parent="18">18:29</option>
<option value="30" parent="18">18:30</option>
<option value="31" parent="18">18:31</option>
<option value="32" parent="18">18:32</option>
<option value="33" parent="18">18:33</option>
<option value="34" parent="18">18:34</option>
<option value="35" parent="18">18:35</option>
<option value="36" parent="18">18:36</option>
<option value="37" parent="18">18:37</option>
<option value="38" parent="18">18:38</option>
<option value="39" parent="18">18:39</option>
<option value="40" parent="18">18:40</option>
<option value="41" parent="18">18:41</option>
<option value="42" parent="18">18:42</option>
<option value="43" parent="18">18:43</option>
<option value="44" parent="18">18:44</option>
<option value="45" parent="18">18:45</option>
<option value="46" parent="18">18:46</option>
<option value="47" parent="18">18:47</option>
<option value="48" parent="18">18:48</option>
<option value="49" parent="18">18:49</option>
<option value="0" parent="19">19:0</option>
<option value="1" parent="19">19:1</option>
<option value="2" parent="19">19:2</option>
<option value="3" parent="19">19:3</option>
<option value="4" parent="19">19:4</option>
<option value="5" parent="19">19:5</option>
<option value="6" parent="19">19:6</option>
<option value="7" parent="19">19:7</option>
<option value="8" parent="19">19:8</option>
<option value="9" parent="19">19:9</option>
<option value="10" parent="19">19:10</option>
<option value="11" parent="19">19:11</option>
<option value="12" parent="19">19:12</option>
<option value="13" parent="19">19:13</option>
<option value="14" parent="19">19:14</option>
<option value="15" parent="19">19:15</option>
<option value="16" parent="19">19:16</option>
<option value="17" parent="19">19:17</option>
<option value="18" parent="19">19:18</option>
<option value="19" parent="19">19:19</option>
<option value="20" parent="19">19:20</option>
<option value="21" parent="19">19:21</option>
<option value="22" parent="19">19:22</option>
<option value="23" parent="19">19:23</option>
<option value="24" parent="19">19:24</option>
<option value="25" parent="19">19:25</option>
<option value="26" parent="19">19:26</option>
<option value="27" parent="19">19:27</option>
<option value="28" parent="19">19:28</option>
<option value="29" parent="19">19:29</option>
<option value="30" parent="19">19:30</option>
<option value="31" parent="19">19:31</option>
<option value="32" parent="19">19:32</option>
<option value="33" parent="19">19:33</option>
<option value="34" parent="19">19:34</option>
<option value="35" parent="19">19:35</option>
<option value="36" parent="19">19:36</option>
<option value="37" parent="19">19:37</option>
<option value="38" parent="19">19:38</option>
<option value="39" parent="19">19:39</option>
<option value="40" parent="19">19:40</option>
<option value="41" parent="19">19:41</option>
<option value="42" parent="19">19:42</option>
<option value="43" parent="19">19:43</option>
<option value="44" parent="19">19:44</option>
<option value="45" parent="19">19:45</option>
<option value="46" parent="19">19:46</option>
<option value="47" parent="19">19:47</option>
<option value="48" parent="19">19:48</option>
<option value="49" parent="19">19:49</option>
<option value="0" parent="20">20:0</option>
<option value="1" parent="20">20:1</option>
<option value="2" parent="20">20:2</option>
<option value="3" parent="20">20:3</option>
<option value="4" parent="20">20:4</option>
<option value="5" parent="20">20:5</option>
<option value="6" parent="20">20:6</option>
<option value="7" parent="20">20:7</option>
<option value="8" parent="20">20:8</option>
<option value="9" parent="20">20:9</option>
<option value="10" parent="20">20:10</option>
<option value="11" parent="20">20:11</option>
<option value="12" parent="20">20:12</option>
<option value="13" parent="20">20:13</option>
<option value="14" parent="20">20:14</option>
<option value="15" parent="20">20:15</option>
<option value="16" parent="20">20:16</option>
<option value="17" parent="20">20:17</option>
<option value="18" parent="20">20:18</option>
<option value="19" parent="20">20:19</option>
<option value="20" parent="20">20:20</option>
<option value="21" parent="20">20:21</option>
<option value="22" parent="20">20:22</option>
<option value="23" parent="20">20:23</option>
<option value="24" parent="20">20:24</option>
<option value="25" parent="20">20:25</option>
<option value="26" parent="20">20:26</option>
<option value="27" parent="20">20:27</option>
<option value="28" parent="20">20:28</option>
<option value="29" parent="20">20:29</option>
<option value="30" parent="20">20:30</option>
<option value="31" parent="20">20:31</option>
<option value="32" parent="20">20:32</option>
<option value="33" parent="20">20:33</option>
<option value="34" parent="20">20:34</option>
<option value="35" parent="20">20:35</option>
<option value="36" parent="20">20:36</option>
<option value="37" parent="20">20:37</option>
<option value="38" parent="20">20:38</option>
<option value="39" parent="20">20:39</option>
<option value="40" parent="20">20:40</option>
<option value="41" parent="20">20:41</option>
<option value="42" parent="20">20:42</option>
<option value="43" parent="20">20:43</option>
<option value="44" parent="20">20:44</option>
<option value="45" parent="20">20:45</option>
<option value="46" parent="20">20:46</option>
<option value="47" parent="20">20:47</option>
<option value="48" parent="20">20:48</option>
<option value="49" parent="20">20:49</option>
<option value="0" parent="21">21:0</option>
<option value="1" parent="21">21:1</option>
<option value="2" parent="21">21:2</option>
<option value="3" parent="21">21:3</option>
<option value="4" parent="21">21:4</option>
<option value="5" parent="21">21:5</option>
<option value="6" parent="21">21:6</option>
<option value="7" parent="21">21:7</option>
<option value="8" parent="21">21:8</option>
<option value="9" parent="21">21:9</option>
<option value="10" parent="21">21:10</option>
<option value="11" parent="21">21:11</option>
<option value="12" parent="21">21:12</option>
<option value="13" parent="21">21:13</option>
<option value="14" parent="21">21:14</option>
<option value="15" parent="21">21:15</option>
<option value="16" parent="21">21:16</option>
<option value="17" parent="21">21:17</option>
<option value="18" parent="21">21:18</option>
<option value="19" parent="21">21:19</option>
<option value="20" parent="21">21:20</option>
<option value="21" parent="21">21:21</option>
<option value="22" parent="21">21:22</option>
<option value="23" parent="21">21:23</option>
<option value="24" parent="21">21:24</option>
<option value="25" parent="21">21:25</option>
<option value="26" parent="21">21:26</option>
<option value="27" parent="21">21:27</option>
<option value="28" parent="21">21:28</option>
<option value="29" parent="21">21:29</option>
<option value="30" parent="21">21:30</option>
<option value="31" parent="21">21:31</option>
<option value="32" parent="21">21:32</option>
<option value="33" parent="21">21:33</option>
<option value="34" parent="21">21:34</option>
<option value="35" parent="21">21:35</option>
<option value="36" parent="21">21:36</option>
<option value="37" parent="21">21:37</option>
<option value="38" parent="21">21:38</option>
<option value="39" parent="21">21:39</option>
<option value="40" parent="21">21:40</option>
<option value="41" parent="21">21:41</option>
<option value="42" parent="21">21:42</option>
<option value="43" parent="21">21:43</option>
<option value="44" parent="21">21:44</option>
<option value="45" parent="21">21:45</option>
<option value="46" parent="21">21:46</option>
<option value="47" parent="21">21:47</option>
<option value="48" parent="21">21:48</option>
<option value="49" parent="21">21:49</option>
<option value="0" parent="22">22:0</option>
<option value="1" parent="22">22:1</option>
<option value="2" parent="22">22:2</option>
<option value="3" parent="22">22:3</option>
<option value="4" parent="22">22:4</option>
<option value="5" parent="22">22:5</option>
<option value="6" parent="22">22:6</option>
<option value="7" parent="22">22:7</option>
<option value="8" parent="22">22:8</option>
<option value="9" parent="22">22:9</option>
<option value="10" parent="22">22:10</option>
<option value="11" parent="22">22:11</option>
<option value="12" parent="22">22:12</option>
<option value="13" parent="22">22:13</option>
<option value="14" parent="22">22:14</option>
<option value="15" parent="22">22:15</option>
<option value="16" parent="22">22:16</option>
<option value="17" parent="22">22:17</option>
<option value="18" parent="22">22:18</option>
<option value="19" parent="22">22:19</option>
<option value="20" parent="22">22:20</option>
<option value="21" parent="22">22:21</option>
<option value="22" parent="22">22:22</option>
<option value="23" parent="22">22:23</option>
<option value="24" parent="22">22:24</option>
<option value="25" parent="22">22:25</option>
<option value="26" parent="22">22:26</option>
<option value="27" parent="22">22:27</option>
<option value="28" parent="22">22:28</option>
<option value="29" parent="22">22:29</option>
<option value="30" parent="22">22:30</option>
<option value="31" parent="22">22:31</option>
<option value="32" parent="22">22:32</option>
<option value="33" parent="22">22:33</option>
<option value="34" parent="22">22:34</option>
<option value="35" parent="22">22:35</option>
<option value="36" parent="22">22:36</option>
<option value="37" parent="22">22:37</option>
<option value="38" parent="22">22:38</option>
<option value="39" parent="22">22:39</option>
<option value="40" parent="22">22:40</option>
<option value="41" parent="22">22:41</option>
<option value="42" parent="22">22:42</option>
<option value="43" parent="22">22:43</option>
<option value="44" parent="22">22:44</option>
<option value="45" parent="22">22:45</option>
<option value="46" parent="22">22:46</option>
<option value="47" parent="22">22:47</option>
<option value="48" parent="22">22:48</option>
<option value="49" parent="22">22:49</option>
<option value="0" parent="23">23:0</option>
<option value="1" parent="23">23:1</option>
<option value="2" parent="23">23:2</option>
<option value="3" parent="23">23:3</option>
<option value="4" parent="23">23:4</option>
<option value="5" parent="23">23:5</option>
<option value="6" parent="23">23:6</option>
<option value="7" parent="23">23:7</option>
<option value="8" parent="23">23:8</option>
<option value="9" parent="23">23:9</option>
<option value="10" parent="23">23:10</option>
<option value="11" parent="23">23:11</option>
<option value="12" parent="23">23:12</option>
<option value="13" parent="23">23:13</option>
<option value="14" parent="23">23:14</option>
<option value="15" parent="23">23:15</option>
<option value="16" parent="23">23:16</option>
<option value="17" parent="23">23:17</option>
<option value="18" parent="23">23:18</option>
<option value="19" parent="23">23:19</option>
<option value="20" parent="23">23:20</option>
<option value="21" parent="23">23:21</option>
<option value="22" parent="23">23:22</option>
<option value="23" parent="23">23:23</option>
<option value="24" parent="23">23:24</option>
<option value="25" parent="23">23:25</option>
<option value="26" parent="23">23:26</option>
<option value="27" parent="23">23:27</option>
<option value="28" parent="23">23:28</option>
<option value="29" parent="23">23:29</option>
<option value="30" parent="23">23:30</option>
<option value="31" parent="23">23:31</option>
<option value="32" parent="23">23:32</option>
<option value="33" parent="23">23:33</option>
<option value="34" parent="23">23:34</option>
<option value="35" parent="23">23:35</option>
<option value="36" parent="23">23:36</option>
<option value="37" parent="23">23:37</option>
<option value="38" parent="23">23:38</option>
<option value="39" parent="23">23:39</option>
<option value="40" parent="23">23:40</option>
<option value="41" parent="23">23:41</option>
<option value="42" parent="23">23:42</option>
<option value="43" parent="23">23:43</option>
<option value="44" parent="23">23:44</option>
<option value="45" parent="23">23:45</option>
<option value="46" parent="23">23:46</option>
<option value="47" parent="23">23:47</option>
<option value="48" parent="23">23:48</option>
<option value="49" parent="23">23:49</option>
<option value="0" parent="24">24:0</option>
<option value="1" parent="24">24:1</option>
<option value="2" parent="24">24:2</option>
<option value="3" parent="24">24:3</option>
<option value="4" parent="24">24:4</option>
<option value="5" parent="24">24:5</option>
<option value="6" parent="24">24:6</option>
<option value="7" parent="24">24:7</option>
<option value="8" parent="24">24:8</option>
<option value="9" parent="24">24:9</option>
<option value="10" parent="24">24:10</option>
<option value="11" parent="24">24:11</option>
<option value="12" parent="24">24:12</option>
<option value="13" parent="24">24:13</option>
<option value="14" parent="24">24:14</option>
<option value="15" parent="24">24:15</option>
<option value="16" parent="24">24:16</option>
<option value="17" parent="24">24:17</option>
<option value="18" parent="24">24:18</option>
<option value="19" parent="24">24:19</option>
<option value="20" parent="24">24:20</option>
<option value="21" parent="24">24:21</option>
<option value="22" parent="24">24:22</option>
<option value="23" parent="24">24:23</option>
<option value="24" parent="24">24:24</option>
<option value="25" parent="24">24:25</option>
<option value="26" parent="24">24:26</option>
<option value="27" parent="24">24:27</option>
<option value="28" parent="24">24:28</option>
<option value="29" parent="24">24:29</option>
<option value="30" parent="24">24:30</option>
<option value="31" parent="24">24:31</option>
<option value="32" parent="24">24:32</option>
<option value="33" parent="24">24:33</option>
<option value="34" parent="24">24:34</option>
<option value="35" parent="24">24:35</option>
<option value="36" parent="24">24:36</option>
<option value="37" parent="24">24:37</option>
<option value="38" parent="24">24:38</option>
<option value="39" parent="24">24:39</option>
<option value="40" parent="24">24:40</option>
<option value="41" parent="24">24:41</option>
<option value="42" parent="24">24:42</option>
<option value="43" parent="24">24:43</option>
<option value="44" parent="24">24:44</option>
<option value="45" parent="24">24:45</option>
<option value="46" parent="24">24:46</option>
<option value="47" parent="24">24:47</option>
<option value="48" parent="24">24:48</option>
<option value="49" parent="24">24:49</option>
<option value="0" parent="25">25:0</option>
<option value="1" parent="25">25:1</option>
<option value="2" parent="25">25:2</option>
<option value="3" parent="25">25:3</option>
<option value="4" parent="25">25:4</option>
<option value="5" parent="25">25:5</option>
<option value="6" parent="25">25:6</option>
<option value="7" parent="25">25:7</option>
<option value="8" parent="25">25:8</option>
<option value="9" parent="25">25:9</option>
<option value="10" parent="25">25:10</option>
<option value="11" parent="25">25:11</option>
<option value="12" parent="25">25:12</option>
<option value="13" parent="25">25:13</option>
<option value="14" parent="25">25:14</option>
<option value="15" parent="25">25:15</option>
<option value="16" parent="25">25:16</option>
<option value="17" parent="25">25:17</option>
<option value="18" parent="25">25:18</option>
<option value="19" parent="25">25:19</option>
<option value="20" parent="25">25:20</option>
<option value="21" parent="25">25:21</option>
<option value="22" parent="25">25:22</option>
<option value="23" parent="25">25:23</option>
<option value="24" parent="25">25:24</option>
<option value="25" parent="25">25:25</option>
<option value="26" parent="25">25:26</option>
<option value="27" parent="25">25:27</option>
<option value="28" parent="25">25:28</option>
<option value="29" parent="25">25:29</option>
<option value="30" parent="25">25:30</option>
<option value="31" parent="25">25:31</option>
<option value="32" parent="25">25:32</option>
<option value="33" parent="25">25:33</option>
<option value="34" parent="25">25:34</option>
<option value="35" parent="25">25:35</option>
<option value="36" parent="25">25:36</option>
<option value="37" parent="25">25:37</option>
<option value="38" parent="25">25:38</option>
<option value="39" parent="25">25:39</option>
<option value="40" parent="25">25:40</option>
<option value="41" parent="25">25:41</option>
<option value="42" parent="25">25:42</option>
<option value="43" parent="25">25:43</option>
<option value="44" parent="25">25:44</option>
<option value="45" parent="25">25:45</option>
<option value="46" parent="25">25:46</option>
<option value="47" parent="25">25:47</option>
<option value="48" parent="25">25:48</option>
<option value="49" parent="25">25:49</option>
</select>

<script>
  var parent = document.getElementById('parent'),
      child = document.getElementById('child'),
      childOptionsHtml = child.innerHTML,
      childOptionsCache = [];
  for (var i = 0, l = child.options.length; i < l; i++) {
    childOptionsCache.push(child.options[i].cloneNode(true));
  }
  function randomFromTo(from, to){
    return Math.floor(Math.random() * (to - from + 1) + from);
  }
  function getRandomParentValue() {
  var w = randomFromTo(0, parent.options.length);
  var selectedOption = parent.options[w];
  while (typeof selectedOption === 'undefined' || selectedOption === null) {
  w = randomFromTo(0, parent.options.length);
  selectedOption = parent.options[w];
  }
  return selectedOption.value;
  }
</script>

Preparation code output

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
options.add
var value = getRandomParentValue();
child.options.length = 0;
for (var i = 0, len = childOptionsCache.length; i < len; i++) {
  var n = childOptionsCache[i],
      cvalue = n.value,
      pvalue = n.getAttribute('parent');
  if (value === pvalue) {
    child.options.add(n);
  }
}

child.selectedIndex = 0;
pending…
innerHTML
var value = getRandomParentValue(),
    regex = new RegExp("((\<option value=\")([^\"]*)(\" parent=\"" + value + "\"\>)([^\<]*)(\<\/option\>))+", "gi"),
    matches = regex.exec(childOptionsHtml),
    outerHtml = '',
    tempWrapper = document.createElement('div'),
    currentParent = child.parentNode;
if (matches && matches.length > 0) {
  child.options.length = 0;
  child = currentParent.removeChild(child);
  tempWrapper.appendChild(child);
  outerHtml = tempWrapper.innerHTML;
  outerHtml = outerHtml.replace(/(\>)[\s\r\n]*(\<\/)/, '$1' + matches[0] + '$2');
  tempWrapper.innerHTML = outerHtml;
  child = tempWrapper.getElementsByTagName('SELECT')[0];
  child = tempWrapper.removeChild(child);
  currentParent.appendChild(child);
}
pending…

You can edit these tests or add even more tests to this page by appending /edit to the URL.

Compare results of other browsers

1 comment

Mark commented :

IE10pp2 is now supporting innerHTML for select element, so please mention it in your original post. Moreover, one thing that I don't understand, as the previous versions of IE were not supported with innerHTML, why there is IE8 with score of 1,912Ops/sec for innerHTML? Doesn't this imply that after Safari, IE8 is the fastest in operating innerHTML, while it doesn't even support the property on the select element?? :confused!

Add a comment