cari

Rumah  >  Soal Jawab  >  teks badan

Alih keluar atribut HTML tanpa nilai

Saya mempunyai aplikasi R shiny dengan bar navigasi daripada pakej R shiny. Namun, saya berminat untuk mengeluarkan HTML, jadi tiada pengetahuan khusus R diperlukan di sini.

Meneb melalui bar navigasi ini akan melangkau entri ini jika tab ini telah dipilih sebelum ini. Ini kerana berkilat akan class="active" 添加到导航栏中该选项卡的

  • 元素。然后,当您单击该选项卡时,它会删除 ="active",只剩下
  • apabila tab dipilih. Adakah HTML sah berdasarkan atribut kelas kosong? Ini HTML tidak sah, inilah sebabnya mengapa tab melalui bar navigasi gagal

    Saya ingin mengalih keluar sasaran kelas yang tidak mempunyai nilai ini. Saya cuba melakukan ini menggunakan jquery dengan menambah

    $(document).on('hide.bs.tab', (x) => {
        $('*[class!=*]').removeAttr('class');
    

    Alih keluar semua sasaran ini apabila tab baharu dipilih. Walau bagaimanapun, saya fikir ini akan menyebabkan beberapa kekeliruan tambahan, kerana fungsi lain dalam apl kini rosak - boleh diramalkan, ini adalah pendekatan kekerasan yang sangat kasar. Masalahnya ialah HTML ini tidak sah dan saya tidak tahu cara memilihnya dengan betul!

    Alangkah baiknya jika sesiapa boleh mencadangkan strategi untuk menyelesaikan masalah ini. Terima kasih!

  • P粉797004644P粉797004644523 hari yang lalu607

    membalas semua(1)saya akan balas

  • P粉401901266

    P粉4019012662023-09-07 14:23:10

    Gunakan atribut pada kelas kosong[]选择器,例如:[class=""]

    $('[class=""]').removeAttr("class");
    [class] {
      background: red;
    }
    <div class="foo">class="foo"</div>
    <div class="">class=""</div>
    <div class>class</div>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>

    Dalam JavaScript tulen, anda akan melakukan ini:

    document.querySelectorAll('[class=""]').forEach(el => el.removeAttribute("class"));
    [class] {
      background: red;
    }
    <div class="foo">class="foo"</div>
    <div class="">class=""</div>
    <div class>class</div>

    Tidak perlu memuatkan keseluruhan perpustakaan.

    balas
    0
  • Batalbalas