Saya mencoba menyembunyikan konten secara dinamis dari pengguna yang setidaknya tidak berada pada level tertentu.

Semua pengguna dapat melihat konten level 1, tetapi mereka harus mencapai level yang lebih tinggi untuk melihat lebih banyak konten.

Level akan dihasilkan di dalam tag html (id="level") melalui penggunaan kode pendek plugin Wordpress. Konten untuk level 2 atau lebih tinggi akan disembunyikan secara default di tag div html (id="myDiv").

Saya mencoba mengubah properti tampilan gaya dari myDiv melalui fungsi javascript.

function myFunction()
{
  var myDiv = document.GetElementById("myDiv");
  var level = document.GetElementById("level").innerHTML;
  if (level >= 2) {
      myDiv.style.display  = "block";
  } else {
    myDiv.style.display  = "none";
  }
}
<body onLoad="myFunction();">
  <div id="level">2</div>
  <div id="myDiv" style="display:none;">myDiv content</div>
</body>
0
Jelz 13 Mei 2021, 15:42

1 menjawab

Jawaban Terbaik

Element.innerHTML akan selalu mengembalikan string, coba ubah innerHTML Anda menjadi angka menggunakan Number(level)

function myFunction()
{    
    let myDiv = document.getElementById("myDiv");
    let stringLevel = document.getElementById("level").textContent;
    const level = Number(stringLevel);
    if (level >= 2) {
        myDiv.style.display  = "block";
    } else {
        myDiv.style.display  = "none";
    }
}

(EDIT)

Pertimbangkan untuk menggunakan textContent daripada innerHTML seperti yang ditunjukkan oleh Scott Marcus

0
Igor Pereira 13 Mei 2021, 12:49