当前博客 代码属于webgate 项目,可以从github上面,下载完成代码。

webgate 项目地址:https://github.com/Wenhaoran/webgate

上面部分,是 个人情况分析,爬坑过程,和实践总结。如果想直接看错误,请 看 分割线之后的内容。

顺便会写几篇,关于 如何 在 easyui 框架下 根据数据 生成 树结构菜单 的博客。

began

最近工作是,重构一个登录系统。

由bootstrap ,改为 easyui 。

在 生成菜单结构的时候,遇到一个问题。通过js 拼接html ,不能正确显示样式的问题。

错误样式如图下: 正确的 样式:

easyui 不能加载样式(并不是不能加载样式)easyui 不能加载样式(并不是不能加载样式)



××××××××××××××××× 分割线×××××××××××××××××××××××××××××××××××

在加载 easyui 框架(easyui.js,easyui.css) 的时候,会根据 当前html 的 元素,生成一些其他的 额外元素。

比如:

tree ,原 html (即用js 脚本生成的html)代码为

easyui 不能加载样式(并不是不能加载样式)

简单的说,如果一直循环 的菜单 (不算结束标签)就是 ul / li / ul / li / ul / li 这么简单

但是,如果是正确的页面显示,html 代码如图下:

easyui 不能加载样式(并不是不能加载样式)

从 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 的方法。


相关文章: