遇到問題情境:
由於Layui部分內置模塊依賴jQuery,所以沒有單獨引入jQuery,但是在使用$常規寫法獲取dom元素時,提示未定義
出現問題的原因:
由於Layui部分內置模塊依賴jQuery,所以我們將jQuery1.11最穩定的一個版本作為一個內置的DOM模塊(唯一的一個第三方模塊)。只有你所使用的模塊有依賴到它,它才會加載,並且如果你的頁面已經script引入了jquery,它並不會重復加載。內置的jquery模塊去除了全局的$和jQuery,是一個符合layui規范的標准模塊。
兩種解決方法:
//第一種:主動加載jquery模塊 layui.use(['jquery', 'layer'], function(){ var $ = layui.$ //重點處 ,layer = layui.layer; //后面就跟你平時使用jQuery一樣 $('body').append('hello jquery'); }); //第二種:如果內置的模塊本身是依賴jquery,你無需去use jquery,所以上面的寫法其實可以是: layui.use('layer', function(){ var $ = layui.$ //由於layer彈層依賴jQuery,所以可以直接得到 ,layer = layui.layer; //…… });
write by:tuantuan