m未定义具体化css

问题描述 投票:2回答:1

我总是得到错误“M未定义”el未定义

codepen sample

如果你打开控制台,你会看到错误

我首先加载jquery.min.js然后加载materialize.min.js .css

然后在下面加载我的script.js。

M不被认可,它应该被认可

为什么?

// init materialize tab
 var instance = M.Tabs.init(el, options);

  // Or with jQuery

 $(document).ready(function(){
    $('.tabs').tabs();

 });

这是HTML

<div class="row">
  <div class="col s12">
        <ul  class="tabs">
       <li class="tab col s3"><a href="#test1">Test 1</a></li>
       <li class="tab col s3"><a class="active" href="#test2">Test 2</a></li>
        <li class="tab col s3 disabled"><a href="#test3">Disabled Tab</a></li>
        <li class="tab col s3"><a href="#test4">Test 4</a></li>
      </ul>
</div>
    <div id="test1" class="col s12">Test 1</div>
    <div id="test2" class="col s12">Test 2</div>
    <div id="test3" class="col s12">Test 3</div>
    <div id="test4" class="col s12">Test 4</div>
</div>
materialize
1个回答
7
投票

我发现了问题,它是版本。

确保使用version => 1.0.0。

 https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js

如果您使用的版本<1.0.0很可能会出现“M未定义”的错误

确保在实现css之前加载jquery!

此外,您必须首先将elem和选项定义为init选项卡

// init materialize tab
     var elem = $('.tabs')
     var options = {}
     var instance = M.Tabs.init(elem, options);

  //or Without Jquery


    //var elem = document.querySelector('.tabs');
     var options = {}
     var instance = M.Tabs.init(elem, options);
© www.soinside.com 2019 - 2024. All rights reserved.