Estoy tratando de calzar Element.prototype.children
que debe devolver un HTMLCollectioncrear un HTMLCollection
Hay una window.HTMLCollection
Sin embargo
var h = new HTMLCollection();
//TypeErrror: HTMLCollection is not a constructor
y
var h = Object.create(HTMLCollection.prototype);
h[0] = div;
h.item(0);
// Could not convert JavaScript argument
Prueba Firefox 7 y Chrome
Aparte de ajustar HTMLCollection
, ¿hay alguna forma de interactuar con él?
también proporcionan retroalimentación sobre this github issue si se puede sugerir una solución
Creo que la forma correcta de hacerlo es definir tu propio constructor 'MyHTMLCollection' personalizado y luego usarlo en lugar del constructor del host' HTMLCollection' (que no es confiable) –
Si bien no puedo responder a tu pregunta específica sobre HTMLCollection, generalmente se considera una mala práctica extender objetos DOM (alojados) nativos. Consulte este artículo para obtener una explicación detallada de por qué: http://perfectionkills.com/whats-wrong-with-extending-the-dom/ – skyline3000
@ skyline3000 Soy perfectamente consciente de las consecuencias. Necesitamos hacer esto para generar un DOM-shim. No estamos ampliando el DOM con métodos personalizados (mal) pero con métodos que deberían existir según la especificación DOM4 – Raynos