⊗jsPrPCPA 25 of 62 menu

Adicionando uma nova compra na calculadora de produtos

Para começar, vamos fazer com que ao clicar no botão, uma nova linha com uma compra seja adicionada à tabela:

add.addEventListener('click', function() { let tr = document.createElement('tr'); let td; td = document.createElement('td'); td.textContent = name.value; td.classList.add('name'); tr.appendChild(td); td = document.createElement('td'); td.textContent = price.value; td.classList.add('price'); tr.appendChild(td); td = document.createElement('td'); td.textContent = amount.value; td.classList.add('amount'); tr.appendChild(td); td = document.createElement('td'); td.textContent = price.value * amount.value; td.classList.add('cost'); tr.appendChild(td); td = document.createElement('td'); td.textContent = 'remover'; td.classList.add('remove'); tr.appendChild(td); table.appendChild(tr); });

A solução que apresentei, no entanto, tem problemas evidentes com duplicação de código: basicamente para cada célula escrevemos o mesmo código.

Seria apropriado ter uma função para criar uma célula da tabela. Deixe que esta função receba como primeiro parâmetro uma referência à linha da tabela, como segundo parâmetro - o texto da célula da tabela, e como terceiro - o nome da classe CSS da célula:

function createCell(tr, value, name) { }

Tendo tal função, poderíamos reescrever o código acima da seguinte forma:

add.addEventListener('click', function() { let tr = document.createElement('tr'); createCell(tr, name.value, 'name'); createCell(tr, price.value, 'price'); createCell(tr, amount.value, 'amount'); createCell(tr, price.value * amount.value, 'cost'); createCell(tr, 'remover', 'remove'); table.appendChild(tr); });

Implemente a função createCell que descrevi.

Copie meu código para adicionar uma nova compra. Teste a adição de uma nova compra na tabela.

Modifique a função createCell de forma que ela retorne via return a célula da tabela criada.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar