JavaScript le permite agregar propiedades y métodos arbitrarios a cualquier objeto, incluidos los nodos DOM. Suponiendo que la propiedad estaba bien espaciada (algo así como _myLib_propertyName
) para que no fuera probable crear un conflicto, ¿hay alguna buena razón para no ocultar datos en los nodos DOM?¿Es una mala práctica agregar propiedades a los nodos DOM?
¿Hay buenos casos de uso para hacerlo?
Imagino que hacer esto con frecuencia podría contribuir a un estilo de codificación descuidado o un código que es confuso o contra-intuitivo, pero parece que también habría momentos en los que insertar propiedades "personalizadas" en los nodos DOM sería eficaz y conveniente técnica.
Al menos Juriy Zaytsev [(kangax)] (http://stackoverflow.com/users/130652/kangax) cree que usted [no debería hacer esto] (http://perfectionkills.com/whats-wrong -with-extend-the-dom /). –
Nota del futuro: ES 5.1 de junio de 2011 tiene ['Object.seal()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal) que le impide agregar propiedades a un objeto. – Archimedix