最近一直大研究easyui,在用tree的时候发现,现在版本的树对自定义属性支持不怎么好。
在easyui的后台json中,有一个attribuate属性,可以自定义任何属性,不过在我的应用中,我不怎么喜欢传json,而是直接在前台写好树的ul li。现在我分享一个我做自定义属性的办法,请大家指教!
总体意思是,写一个无用的div,把相关属性写在上面,要用的时候通过这个div去取属性。代码如下:
<ul id="indexMenu">
<li id="1">
<span><div id="p" menuDepth="a">系统菜单</div></span>
</li>
<ul>
<javascript>
var node = $('#indexMenu').tree('getSelected');
alert(node.id);//取节点的id
alert($("#p",node.target).attr("menuDepth"));//取节点的深度(自定义属性)
</javascript>
因为easyu把ul li转变成tree的时候,会把li span等相关属性都重写,因此所有尝试在li、span 等标签上添加自定义义属性都失败了,不过树内容 不会被修改,而我就是利用了这一点!