Держите материализованную вкладку открытой после перезагрузки страницы - PullRequest
0 голосов
/ 20 июня 2019

Я хочу оставить вкладку материализации открытой после перезагрузки страницы и отправить ссылку пользователям вкладки, например: http://www.example.com/samplepage#tab

    <ul class="nav nav-tabs" role="tablist" id="userdashboard-tabs">
     <li class="nav-item">
      <a class="nav-link active" data-toggle="tab" href="#Dashboard" role="tab" aria-controls="Dashboard">Dashboard</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#Orders" role="tab" aria-controls="Orders">My Orders</a> </li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#Products" role="tab" aria-controls="Products">My Products</a>
</li>
<li class="nav-item">
 <a class="nav-link" data-toggle="tab" href="#Sells" role="tab" aria-controls="Sells">My Sells</a>
 </li>
   <li class="nav-item">
  <a class="nav-link" data-toggle="tab" href="#Account" role="tab" aria-controls="Account">My Account</a></li>
                        </ul>

здесь есть JavaScript:

$(document).ready(function () {
    $('#userdashboard-tabs a').click(function(e) {
    e.preventDefault();
    $(this).tabs();
  });

  // store the currently selected tab in the hash value
  $("ul.nav-tabs > li > a").on("click", function(e) {
    var id = $(e.target).attr("href").substr(1);
    console.log(id + "dijdljsodfj");
    window.location.hash = id;
  });

  // on load of the page: switch to the currently selected tab
  var hash = window.location.hash;
  console.log(hash +"hash");
  $('#userdashboard-tabs a[href="' + hash + '"]').click();

})

перезагрузка страницы дает эту ошибку:

jquery-3.0.0.min.js:2 jQuery.Deferred exception: Cannot read property 'classList' of undefined TypeError: Cannot read property 'classList' of undefined

при нажатии на вкладку выдается эта ошибка:

materialize.js:4019 Uncaught TypeError: Cannot read property 'parentNode' of undefined
...