不能使用addChild方法
-
12-12-2019 - |
题
我第一次使用dynatree插件,我试图动态添加节点。我的代码如下:
function DrawTree() {
var names = GetChildName();
var rootNode = $("#ProcessRoleTree").dynatree("getRoot");
var childNode = rootNode.addChild({ title: names[0].Name });
}
在运行时显示错误
Microsoft JScript运行时错误:对象不支持此属性或方法
我是不是错过了什么??我已经验证了我包含了所需的库 :
<script src="Jquery/jquery/jquery.js" type="text/javascript"></script>
<script src="Jquery/jquery/jquery-ui.custom.js" type="text/javascript"></script>
<script src="Jquery/jquery/jquery.cookie.js" type="text/javascript"></script>
<link href="Jquery/src/skin-vista/ui.dynatree.css" rel="stylesheet" type="text/css" />
<script src="Jquery/src/jquery.dynatree.js" type="text/javascript"></script>
提前感谢!
解决方案
这可能不是你的问题,但它值得拍摄。有时,使用其他库使用jQuery时,您可以与冲突的代码一起冲突。jQuery使用$符号作为jQuery的快捷方式。Dynatree库也使用美元符号来获取其功能。
我在实现我的树时遇到了这个问题,这就是我修复它的方式。正如您所看到的,我用'jquery'更换所有'$'。
<script type="text/javascript">
jQuery.noConflict();
function DrawTree() {
var names = GetChildName();
jQuery("#ProcessRoleTree").dynatree();
var rootNode = jQuery("#ProcessRoleTree").dynatree("getRoot");
//Try adding a key
var childNode = rootNode.addChild({ title: names[0].Name, key: "001" });
}
</script>
. 其他提示
您需要先初始化树,然后才能调用 dynatree("getRoot")
, ,例如在最简单的例子中
function DrawTree() {
var names = GetChildName();
$("#ProcessRoleTree").dynatree();
var rootNode = $("#ProcessRoleTree").dynatree("getRoot");
var childNode = rootNode.addChild({ title: names[0].Name });
}
应该工作。相反,您可以将许多其他选项传递到树初始化步骤中,例如见 文件.
不隶属于 StackOverflow