<div>
<div>  What is the implication of denying dynamic changes to the HTMLCollection in a CORS environment?  In some variant of Comet (or asynchronous UA polling), how can the UA implement change if it is regularly processing inside locked control blocks?</div>
</div>
<div> </div>
<div>
<div>  Please pardon my ignorance of the details.</div>
<div> </div></div>
<div>Frank Migacz, Technical Instructor </div>
<div><a href="mailto:fmigacz@gmail.com">fmigacz@gmail.com</a> </div>
<div> </div>
<div>excerpt:</div>
<div>>> As far as I can see, liveness of HTMLCollection actually does matter. When<br>>> iterating over HTMLCollection, it's more or less a rule of thumb to "save"<br>>> length, to avoid any kind of mismatch (in case code within loop modifies<br>
>> document and so affects length of collection in question):<br>>><br>>> for (var i = 0, length = collection.length; i < length; i++)<br>>> // instead of:<br>>> for (var i = 0; i < collection.length; i++)<br>
>></div>
<div> </div>
<div>And another excerpt:</div>
<div>>> For push, I think that :</div>
<div>>> </div>
<div>>> collection.push(document.createTextNode('foo'));</div>
<div>>> </div>
<div>>> // should behave exactly as :</div>
<div>>> </div>
<div>>> collection.childNodes[collection.length] = document.createTextNode('foo');</div>
<div>>> </div>
<div>>> I don't know what is the current behavior, but if it throws an error,<br>>> push should throw the same error. If it appends a text node to the body,<br>>> then push should do the same.</div>

<div>>> sort is a bunch of :<br>>> </div>
<div>>> "tmp = collection[i];<br>>> collection[i] = collection[j];<br>>> collection[j] = tmp"</div>
<div>>> </div>
<div>>> The first instruction is harmless, but if the second one would throw an<br>>> error, then let's throw the same error for .sort.</div>
<div>>></div>
<div> </div>