Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Modificando a função montaTd()

Durante a aula, enquanto montava a função eu notei que tanto a descrição da classe, quanto a referência do objeto, seguem um padrão, alterando apenas o atributo.

montaTd(paciente.nome, "info-nome");

function montaTd(dado,classe){
    var td = document.createElement("td");
    td.textContent = dado;
    td.classList.add(classe);

    return td;
}

Eu pensei em reescrever a função de maneira que, ao invés de informar a referência e a classe, eu informasse apenas o atributo.

montaTd("nome");

function montaTd(dado){
    var td = document.createElement("td");
    td.textContent = paciente.dado;
    td.classList.add(info-dado);

    return td;
}

Esse código não me apresentou o resultado desejado porque o "dado" que passo como parâmetro não é lido como uma variável. Para resolver a classe eu reescrevi assim:

montaTd("nome");

function montaTd(dado){
    var td = document.createElement("td");
    td.textContent = paciente.dado;
    td.classList.add("info-"+dado);

    return td;
}

A adição de classe funcionou, porém, não faço ideia de como reescrever a referência do contexto.

Não sei se consegui ser bem claro com relação a minha duvida, e sei que ela talvez fuja um pouco do conteúdo apresentado na aula. Mas se alguém puder me ajudar , agradeço!

1 resposta
solução!

Fala ai Gabriel, tudo bem? Se eu entendi corretamente o problema deve ser no paciente.dado, isso porque o seu dado é uma variável que contém a propriedade à ser acessada dentro do objeto paciente.

Sendo assim, tente fazer assim:

td.textContent = paciente[dado];

A função completa ficaria:

montaTd("nome");

function montaTd(dado){
    var td = document.createElement("td");
    td.textContent = paciente[dado];
    td.classList.add("info-"+dado);

    return td;
}

So precisa verificar se o objeto paciente está sendo acessível de forma global, para que a função consiga ler as propriedades do mesmo.

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software