Galera estou aprendendo DOM e Ajax!
estou manipulando o XML com javascript certo! oq eu estou querendo fazer e o seguinte! quando a pessoa quiser alterar o XML ela nao precisar mexer no Javascript. Ex: estou fazendo uma uma receitas e ja tenho meu css html e xml pronto, mais se eu quiser alterar o xml nao preciso alterar nada no js porem se eu colocar mais uma receita ela ja vai parecer na pagina WEB com cor e ja dentro do laço!
Me ajudem please!
Meu codigo js vou postar aq caso precisem dos outros eu coloco!
function executar() {
let requisicao = new XMLHttpRequest()
requisicao.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
let dados = this.responseXML
let mr = document.getElementById("mostraReceitas").childNodes[1]
let botoes = document.getElementsByClassName("nomeDasReceitas")
let nomes = ""
let ingredientes = ""
let listaIngredientes
//BOTÕES
for (let i = 0; i < dados.getElementsByTagName("nome").length; i++) {
let paragrafo = document.createElement("p")
nomes = document.createTextNode(dados.getElementsByTagName("nome")[i].childNodes[0].nodeValue)
paragrafo.appendChild(nomes)
botoes[i].appendChild(paragrafo)
}
document.getElementById("receita1").addEventListener("click", function () {
//NOME DA RECEITA
let receita1 = ""
receita1 = "<h3>" + dados.getElementsByTagName("nome")[0].childNodes[0].nodeValue + "</h3> <br>"
//INGREDIENTES
receita1 += "<p> <strong> Ingredientes: </strong> </p> <ul>"
for (let j = 1; j < dados.getElementsByTagName("receita")[0].childNodes[3].childNodes.length; j += 2) {`Texto pré-formatado`
receita1 += "<li>" + dados.getElementsByTagName("receita")[0].childNodes[3].childNodes[j].childNodes[0].nodeValue + "</li>"
} receita1 += "</ul> <br>"
//MODO DE PREPARO
receita1 += "<p> <strong> Modo de Preparo: </strong> </p> <ol>"
for (let k = 1; k < dados.getElementsByTagName("receita")[0].childNodes[5].childNodes.length; k += 2) {
receita1 += "<li>" + dados.getElementsByTagName("receita")[0].childNodes[5].childNodes[k].childNodes[0].nodeValue + "</li>"
} receita1 += "<ol> <br>"
//IMAGENS
receita1 += "<p> <strong> Imagens: </strong> </p>"
for (let l = 1; l < dados.getElementsByTagName("receita")[0].childNodes[7].childNodes.length; l += 2) {
receita1 += "<img src=\"/Imagens/" + dados.getElementsByTagName("receita")[0].childNodes[7].childNodes[l].childNodes[0].nodeValue + "\" width=\"250\"> <br>"
}
document.getElementById("mostraReceitas").innerHTML = receita1
})
document.getElementById("receita2").addEventListener("click", function () {
//NOME DA RECEITA
let receita2 = ""
receita2 = "<h3>" + dados.getElementsByTagName("nome")[1].childNodes[0].nodeValue + "</h3> <br>"
//INGREDIENTES
receita2 += "<p> <strong> Ingredientes: </strong> </p> <ul>"
for (let j = 1; j < dados.getElementsByTagName("receita")[1].childNodes[3].childNodes.length; j += 2) {
receita2 += "<li>" + dados.getElementsByTagName("receita")[1].childNodes[3].childNodes[j].childNodes[0].nodeValue + "</li>"
} receita2 += "</ul> <br>"
//MODO DE PREPARO
receita2 += "<p> <strong> Modo de Preparo: </strong> </p> <ol>"
for (let k = 1; k < dados.getElementsByTagName("receita")[1].childNodes[5].childNodes.length; k += 2) {
receita2 += "<li>" + dados.getElementsByTagName("receita")[1].childNodes[5].childNodes[k].childNodes[0].nodeValue + "</li>"
} receita2 += "<ol> <br>"
//IMAGENS
receita2 += "<p> <strong> Imagens: </strong> </p>"
for (let l = 1; l < dados.getElementsByTagName("receita")[1].childNodes[7].childNodes.length; l += 2) {
receita2 += "<img src=\"/Imagens/" + dados.getElementsByTagName("receita")[1].childNodes[7].childNodes[l].childNodes[0].nodeValue + "\" width=\"250\"> <br>"
}
document.getElementById("mostraReceitas").innerHTML = receita2
})
document.getElementById("receita3").addEventListener("click", function () {
//NOME DA RECEITA
let receita3 = ""
receita3 = "<h3>" + dados.getElementsByTagName("nome")[2].childNodes[0].nodeValue + "</h3> <br>"
//INGREDIENTES
receita3 += "<p> <strong> Ingredientes: </strong> </p> <ul>"
for (let j = 1; j < dados.getElementsByTagName("receita")[2].childNodes[3].childNodes.length; j += 2) {
receita3 += "<li>" + dados.getElementsByTagName("receita")[2].childNodes[3].childNodes[j].childNodes[0].nodeValue + "</li>"
} receita3 += "</ul> <br>"
//MODO DE PREPARO
receita3 += "<p> <strong> Modo de Preparo: </strong> </p> <ol>"
for (let k = 1; k < dados.getElementsByTagName("receita")[2].childNodes[5].childNodes.length; k += 2) {
receita3 += "<li>" + dados.getElementsByTagName("receita")[2].childNodes[5].childNodes[k].childNodes[0].nodeValue + "</li>"
} receita3 += "<ol> <br>"
//IMAGENS
receita3 += "<p> <strong> Imagens: </strong> </p>"
for (let l = 1; l < dados.getElementsByTagName("receita")[2].childNodes[7].childNodes.length; l += 2) {
//alert(dados.getElementsByTagName("receita")[2].childNodes[7].childNodes[l].childNodes[0].nodeValue)
receita3 += "<img src=\"/Imagens/" + dados.getElementsByTagName("receita")[2].childNodes[7].childNodes[l].childNodes[0].nodeValue + "\" width=\"250\"> <br>"
}
document.getElementById("mostraReceitas").innerHTML = receita3
})
}
}
requisicao.open("GET", "receitas.xml", true)
requisicao.send()
}
onload = executar()