I have a <p>
tag and I want it when it is filled with some text to appear a reset button, but I do not know how to indicate that the tag is empty.
I have a <p>
tag and I want it when it is filled with some text to appear a reset button, but I do not know how to indicate that the tag is empty.
Using MutationObserver :
//Elementos
var p = document.querySelector('p');
var input = document.querySelector('input');
var button = document.querySelector('button');
//Quando clicar o botão muda texto dentro do <p> (apenas para poder mostrar)
button.addEventListener('click', function() {
p.innerHTML = input.value;
});
//Cria um observador que recebe uma função com a sua lógica
var observador = new MutationObserver(function() {
console.log('mudou');
if(p.innerHTML === '') {
console.log('vazio');
} else {
console.log('tem alguma coisa');
}
});
//Observa as mudanças na tag <p>, passando um objeto de configuração
observador.observe(p, {
childList: true,
attributes: false,
characterData: false,
subtree: false,
attributeOldValue: false,
characterDataOldValue: false
});
<p><p>
<input>
<button>mudar</button>
More information about the configuration object
Check the contents of the tag
With content - runs the function
var textoDoParagrafo = document.getElementById('qqId').textContent;
if (textoDoParagrafo!=""){
//executa a função caso haja conteúdo na tag p cujo id é qqId
var input = document.createElement("input");
input.type = "reset";
input.value = "Resetar";
document.body.appendChild(input);
}
<p id="qqId">Esse aqui é o conteúdo do paragrafo</p>
No content - does not execute function
var textoDoParagrafo = document.getElementById('qqId').textContent;
if (textoDoParagrafo!=""){
//executa a função caso haja conteúdo na tag p cujo id é qqId
var input = document.createElement("input");
input.type = "reset";
input.value = "Resetar";
document.body.appendChild(input);
}
<p id="qqId"></p>
TextContent Compatibility
The
textContent
propertyissupportedinInternetExplorerfromversion9.InolderversionsofInternetExplorer,usetheinnerText
propertyforsimilarfunctionality. ThereareotherJavaScriptpropertiesandmethodsthatworksimilarlytothetextContent
property:
var elem = document.getElementById ("qqId");
var mesnsagem = "";
mesnsagem += "\nouter text : " + elem.outerText;
mesnsagem += "\ninner HTML : " + elem.innerHTML;
mesnsagem += "\ntext Content : " + elem.textContent;
mesnsagem += "\ninner Text : " + elem.innerText;
console.log(mesnsagem);
<p id="qqId">Esse aqui é o conteúdo do paragrafo</p>
If you are not using an identifier in the <p>
tag, go to the index:
var textoDoParagrafo = document.getElementsByTagName('p')[2].textContent;
console.log(textoDoParagrafo);
<p>Esse aqui é o conteúdo do paragrafo de indice 0</p>
<p>Esse aqui é o conteúdo do paragrafo de indice 1</p>
<p>Esse aqui é o conteúdo do paragrafo de indice 2</p>
<p>Esse aqui é o conteúdo do paragrafo de indice 3</p>
And if there is only one <p>
tag go to index 0:
var textoDoParagrafo = document.getElementsByTagName('p')[0].textContent;
console.log(textoDoParagrafo);
<p>Esse aqui é o conteúdo do paragrafo de indice 0</p>