当前博客 代码属于webgate 项目,可以从github上面,下载完成代码。
webgate 项目地址:https://github.com/Wenhaoran/webgate
上面部分,是 个人情况分析,爬坑过程,和实践总结。如果想直接看错误,请 看 分割线之后的内容。
顺便会写几篇,关于 如何 在 easyui 框架下 根据数据 生成 树结构菜单 的博客。
began
最近工作是,重构一个登录系统。
由bootstrap ,改为 easyui 。
在 生成菜单结构的时候,遇到一个问题。通过js 拼接html ,不能正确显示样式的问题。
错误样式如图下: 正确的 样式:
××××××××××××××××× 分割线×××××××××××××××××××××××××××××××××××
在加载 easyui 框架(easyui.js,easyui.css) 的时候,会根据 当前html 的 元素,生成一些其他的 额外元素。
比如:
tree ,原 html (即用js 脚本生成的html)代码为
简单的说,如果一直循环 的菜单 (不算结束标签)就是 ul / li / ul / li / ul / li 这么简单
但是,如果是正确的页面显示,html 代码如图下:
从 ul id = 'dtree' 往下看,很明显的能看出不同。
正确的html 元素,给加上了一个 div ,若干个 span 等等一系列元素。
这个问题产生的原因可能是(目前是猜测,并没有进行验证):
生成 html 页面后,在加载 easyui 框架(easyui.js,easyui.css) 的时候,会根据 当前html 的 元素,生成一些其他的 额外元素。
得出这个结论,要感谢前端的 相玥 同学。
问题的原因,并不是没有加载 css 样式。
所以,在一个完整的 通过 easyui 框架 来 搭建的项目 ,并不适合 通过 js 来拼接 生成 html 代码,因为, 基本上所有的 引入文件,都会综合到一个文件中,来方便引入。
所以不可能拆开来 先生成 html ,再 执行 相关 js .
下一篇博客 会 写
1、原数据格式。
2、 js 生成 了 正确的 html ,但是不管用。
3、后台生成html 的方法。