我第一次使用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>
提前致谢!
答案 0 :(得分:0)
您需要首先初始化树,然后才能拨打dynatree("getRoot")
,例如在最简单的例子中
function DrawTree() {
var names = GetChildName();
$("#ProcessRoleTree").dynatree();
var rootNode = $("#ProcessRoleTree").dynatree("getRoot");
var childNode = rootNode.addChild({ title: names[0].Name });
}
应该有效。您可以将许多其他选项传递到树初始化步骤,例如见the documentation。
答案 1 :(得分:0)
这可能不是你的问题,但值得一试。有时,当将jQuery与其他库一起使用时,您可能会遇到与冲突代码冲突的问题。 jQuery使用$ sign作为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>