Javascript createElement frente a getElementById

¿Es seguro usar mosaico para identificar el div recién creado aquí?

var tile = document.createElement("div");
document.getElementById('tileBlock').appendChild(tile);
var tileName = 'tile' + numbersToLetters(tileX) + numbersToLetters(tileY);
tile.setAttribute('id', tileName);
tile = blah blah blah...

¿O tengo que volver a colocar el azulejo?

var tile = document.createElement("div");
document.getElementById('tileBlock').appendChild(tile);
var tileName = 'tile' + numbersToLetters(tileX) + numbersToLetters(tileY);
tile.setAttribute('id', tileName);
tile = document.getElementById(tileName);
tile = blah blah blah...

preguntado el 24 de mayo de 14 a las 16:05

Sí, es totalmente seguro. -

Cada elemento DOM es una instancia única, que existe durante la vida útil de la página (hasta que se vuelve a cargar). Las características del elemento en sí pueden cambiar (ID, nombres de clases, controladores de eventos), pero la instancia no. -

1 Respuestas

No necesita volver a buscar el elemento, y realmente no necesita usar .setAttribute():

tile.id = tileName;

Cambiar la propiedad "id" no "rompe" su referencia al elemento. El valor de la variable "tile" permanece sin cambios, en otras palabras.

contestado el 24 de mayo de 14 a las 16:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.