Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] não esta aparecendo a quantidade apenas o item

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mochila de viagem</title>
    <link rel="stylesheet" href="css/style.css">

    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet"> 
</head>
<body>
    <main class="conteudo">
        <div class="principal">
            <div class="mochila"></div>
            <form action="" class="adicionar" id="novoItem">
                <label for="item">Nome</label>
                <input type="text" name="nome" id="nome">
                <label for="item">Quantidade</label>
                <input type="number" name="quantidade" id="quantidade">
                <input type="submit" value="Adicionar" class="cadastrar">
            </form>
        </div>
        
        <ul class="lista" id="lista">
            <li class="item"><strong>7</strong>Camisas</li>
            <li class="item"><strong>1</strong>Calça</li>
            <li class="item"><strong>3</strong>Casaco</li>
            <li class="item"><strong>3</strong>Meia</li>
            <li class="item"><strong>10</strong>Cuecas</li>
        </ul>
    </main>
    <script src="js/main.js"></script>
</body>
</html>
4 respostas
html {
    background: radial-gradient(farthest-corner at right top,#21A09D, #06182D);
    height: 100%;
    font-family: 'Roboto', cursive;
}

.conteudo {
    padding: 10vh 3em 0;
    display: flex;
    align-items: flex-start;
    gap: 2em;
}

.principal {
    flex-grow: 1;
    flex-basis: auto;
    min-width: 600px;
    padding: 4em 2em 2em;
    box-sizing: border-box;
    display: flex;
    background: #C5965F;
    border-radius: 10px;
    gap: 2em;
}
  
.mochila {
    min-width: 170px;
    max-width: 170px;
    height: 180px;
    padding-top: 80px;
    background-color: #d84736;
    box-shadow: inset 0 6px 0 2px #e64a3e, 0 -93px 0 -77px #3b1045, 0 -93px 0 -72px #d84736, 0 -93px 0 -68px #3b1045;
    background-image: linear-gradient(to right, transparent 5px, transparent 20px, transparent 1px, transparent 25px, transparent 5px, transparent 20px, transparent 20px, transparent 86px, #c1382e 45px, #c1382e 230px, transparent 25px, transparent 172px );
    background-position: center 254px;
    background-size: 305px 6px;
    background-repeat: repeat-x; 
    border: 5px solid #410c38;
    border-radius: 85px 85px 44px 44px;
    display: inline-block;
    vertical-align: top;
    flex-basis: auto;
    flex-grow: 1;
}
  
.mochila:before, .mochila:after {
    display: block;
    content: '';
    position: absolute;
  }
  
.mochila:before {
    height: 75px;
    width: 118px;
    background-image: radial-gradient(circle closest-corner at 13px 29px , #af342c, #af342c 2px, transparent 2px, transparent), radial-gradient(circle closest-corner at 13px 29px , #491033, #491033 4px, transparent 4px, transparent), linear-gradient(to bottom, transparent 10px, transparent 15px, #491033 5px, #491033 18px, transparent 18px, transparent 100px), linear-gradient(to right, #af342c 10px, #af342c 10px, transparent 10px, transparent 16px, #af342c 9px, #af342c 50px), linear-gradient(to bottom, #af342c 8px, #af342c 16px, #491033 8px, #491033 30px, #af342c 20px, #af342c 72px, #af342c 10px, #af342c 57px, #af342c 5%);
    margin-left: 22px;
    margin-top: 58px;
    border: 4px solid #491033;
    border-radius: 11px;
    box-shadow: 0 4px 0 0 #c1382e, inset 0px 4px 1px 0 #c03527;
    content: '||';
    color: transparent;
    font-family: Comic Sans MS;
    font-weight: bold;
    z-index: 1;
    text-shadow: rgb(0, 0, 0) -2px -86px 0px;
    font-size: 14px;
}
  
.mochila:after {
    margin-left: 67px;
    margin-top: -30px;
    background: #cca16a;
    width:26px;
    height:26px;
    border: 3px solid #491033;
    border-radius: 3px;
    transform: rotate(45deg);
}

.adicionar {
    width: 100%;
}

.adicionar input {
    width: 100%;
    box-sizing: border-box;
    margin: 0.5em 0 1em;
    padding: 1em 0.5em;
    border-radius: 10px;
    border: 2px solid #40112D;
}

.adicionar label {
    display: block;
}

.cadastrar {
    background-color: #40112D;
    color: #FFFFFF;
    cursor: pointer;
}

.lista {
    margin: 0;
    padding: 0;
}

.item {
    list-style: none;
    padding: 0.6em 2em;
    background: #FFFFFF;
    border-radius: 10px;
    margin: 0 0 1em;
    width: 100%;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    gap: 1em;
    font-size: 20px;
}

.item strong {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    Background: #C5965F;
    font-weight: 400;
}  
const form = document.getElementById("novoItem")
const lista = document.getElementById("lista")

form.addEventListener("submit", (evento) =>{
    evento.preventDefault()

    criaElemento(evento.target.elements['nome'].value, evento.target.elements['quantidade'].value)

})

function criaElemento(nome, quantidade){
    const novoItem = document.createElement('li')
    novoItem.classList.add("item")

    const numeroItem = document.createElement('strong')
    numeroItem.innerHTML = quantidade

    novoItem.appendChild = (numeroItem)
    novoItem.innerHTML += nome


    lista.appendChild(novoItem)
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Olá Paula, tudo bem?

No seu código JavaScript, há um problema na linha onde você está anexando o elemento "numeroItem" ao elemento "novoItem". A propriedade correta para anexar um elemento a outro é appendChild(), ao invés appendChild = (). Portanto, você precisa corrigir a seguinte linha na função criaElemento :

novoItem.appendChild(numeroItem);

Com essa correção, o número e o nome do item devem ser adicionados corretamente ao criar um novo elemento na lista

Espero ter ajudado, qualquer dúvida, me coloco à disposição! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!