Não entendi a explicação desta linha de código no final da aula:
$copyCard.querySelector('.card-content').textContent = $newCardContent.value;
Grato!
Não entendi a explicação desta linha de código no final da aula:
$copyCard.querySelector('.card-content').textContent = $newCardContent.value;
Grato!
Ele vai pegar o conteúdo que você criou para o card novo e vai adicionar na copia do card que você fez.
Por que não utilizei o value e sim o textcontent???
porque quando você usa o value você esta pegando o attribute value de um input porem você esta esta adicionando conteudo a uma tag p e esse conteúdo esta dentro do content dela , esse comando é similar ao text() do jquery
Ok, entendi.
Ocorre que justamente quando vou inserir um novo card, ao clicar sobre Salvar, é retornado a mensagem no console :
Uncaught TypeError: Cannot read property 'insertBefore' of null
O JS está assim:
var $newCard = document.querySelector(".newCard");
var $newCardContent = document.querySelector(".newCard-content");
var $newCardAction = document.querySelector(".newCard-action");
$newCard.addEventListener('submit', function(event){
event.preventDefault();
if ($newCardContent.value == '') {
if (document.querySelector('.error') == null) {
var $error = document.createElement('span');
$error.classList.add('error');
$error.textContent = 'Favor preencher algum conteúdo!';
$newCard.insertBefore($error, $newCardAction);
};
} else {
var $wrapCard = document.querySelector('.wrapCard');
var $card = document.querySelector('.card');
var $copyCard = document.querySelector('.card').cloneNode(true);
$copyCard.querySelector('.card-content').textContent = $newCardContent.value;
$wrapCard.insertBefore($copyCard, $card);
};
});
Pq vc esta usando wrapCard porem não seria wrap-card