Jak mogę sprawdzić, czy element ma treści (z wyjątkiem białek), a następnie dołącz nowy element, jeśli element nie ma treści? Po prostu czysty javascript, jeśli to możliwe.

<div id="container">


</div>

Jeśli pojemnik ma tylko białe znaki:

<div id="container">EMPTY</div>

VS

<div id="container">I am not empty</div>

Jeśli kontener ma treść (nie ma potrzeby dołączania pustych):

<div id="container">I am not empty</div>
0
Ninja Warrior 11 3 czerwiec 2018, 08:28

3 odpowiedzi

Najlepsza odpowiedź

Jak sprawdzić pustkę

var isEmpty = !document.getElementById("container").innerText.trim();

Jak dołączyć

if(isEmpty) document.getElementById("container").innerText = "EMPTY";
1
Jacob Goh 3 czerwiec 2018, 05:32

Możesz sprawdzić, czy trim med innerHTML jest pustym ciągiem:

document.querySelectorAll('div').forEach(div => {
  if (div.innerHTML.trim() === '') div.textContent = 'Empty';
});
<div></div>
<div>


</div>

<div>I am not empty</div>
1
CertainPerformance 3 czerwiec 2018, 05:31

Tak jak to:

var checkDivs = () => {
  document.querySelectorAll('#container').forEach((el)=>{
    el.innerText = (el.innerText) ? el.innerText:'EMPTY';
  })
}
checkDivs();
<div id="container">


</div>
if the container has only whitespaces then:
<div id="container">EMPTY</div>

VS

<div id="container">I am not empty</div>
if the container has content (no need to append EMPTY):
<div id="container">I am not empty</div>
1
Eric Nail 3 czerwiec 2018, 05:32