que he creado dos funciones para cargar vistas ampliadas de un mes en la sección de archivos de mi blog cuando llega el enlace se hace clic en:¿GetElementById funciona en elementos creados por javascript?
// Load open view of a month in the Archive section
function loadMonth(date) {
// Remove other open month
removeMonth();
// Hide opening month's link
// Define variable to hold month anchor tag
var monthLink = document.getElementById(date);
monthLink.style.display = "none"; // Hide month anchor
// Define new open month node and its attributes
var openMonth = document.createElement("div");
openMonth.setAttribute("id", "openMonth");
openMonth.innerHTML = "Testing one, two, three.";
// Insert open month
// Define a variable to hold the archive Div node
var archive = document.getElementById("archive");
// Insert the open month in the archive node before it's link
archive.insertBefore(openMonth,monthLink);
return;
}
// Close full view of a month and replace with respective link
function removeMonth() {
// Define global function vars
var archive = document.getElementById("archive"); // Define a var to hold the archive Div node
var openMonth = document.getElementById("openMonth"); // Define var to hold the open month Div node
// Get date of full view month for replacement anchor tag where ID = date
var month = openMonth.getElementsByTagName("span")[0].innerHTML; // Define var to hold the name of the open month
var date = (new Date(month + " 15, 2008").getMonth() + 1); // Define var to hold the numerical equivalent of the month
var year = archive.getElementsByTagName("h3")[0].innerHTML.split(" "); // Define var to hold the year being displayed in the archive
date = year[1] + "" + date; // Change date var to string and insert year
// Remove the open month
archive.removeChild(openMonth);
// Show Link for that month
document.getElementById(date).className = "big"; // Fixes display error when anchor has class firstLink
document.getElementById(date).style.display = "inline"; // Returns link from display "none" state
return;
}
Las funciones funcionan cuando se ejecuta en el contenido estático original, pero cuando un segundo se hace clic en el enlace en el enlace, no hacen nada. Me pregunto si tal vez porque los elementos que fueron creados por mis funciones no pueden ser llamados por document.getElementById. ¿Quizás debería usarse un método diferente para acceder a esos nodos, o quizás reemplazar el "documento" por algo que también funciona en los elementos creados por JavaScript?
Cualquier consejo sería muy apreciado. Gracias.
Se puede publicar un ejemplo de trabajo de su código (un ejemplo que muestra el problema) en algún lugar (por ejemplo aquí http://pastebin.me/)? Al mirar su código, creo que hay un concepto erróneo general en su enfoque. – Tomalak