我的目标:我正在编写一个小工具,用于填充包含内容的div。我甚至不能执行信息,因为得到错误: 未捕获的语法错误:意外的令牌返回
我写了一个执行此功能的对象,如下所示:
function TreeView(){
this.rebuild = contructRoot();
}
function constructRoot(){
var resultant = ajax_Request();
var content = $(resultant);
var root = $("<div>");
var root_nodes = ajax_Request("/startTreeAJAX");
root_nodes.split("|");
root.html(
$("<div>").html(
$("<ul>").append($('<li>').html(root_nodes[0])).append($("<li>").html(root_nodes[1]))
)
);
root.find("li").click(function(){
clickExpand(this);
});
return root.html();
}
我试图基本上返回元素内容。
答案 0 :(得分:6)
)
的结束.click()
丢失了,不要忘记在}
之后使用return
关闭您的功能定义。当您看到类似意外令牌的语法错误时,请立即开始查看之前发现问题的内容......
root.find("li").click(function(){
clickExpand(this);
}); // <----
return root.html();
}
答案 1 :(得分:2)
检查花括号和括号。你错过了其中一些。
root.find("li").click(function () {
clickExpand(this);
}); // <-- you're missing the `)` here
return root.html();
} // <-- You're missing the `}` here
更新:正如其他人所说,此代码还存在其他问题。
root_nodes.split("|");
这没有任何作用。您需要将root_nodes
设置为该值。
root_nodes = root_nodes.split("|");
var c = $('<li>').html(root_nodes[0]) + $("<li>").html(root_nodes[1]);
这不符合你的想法。 +
将连接字符串,从而返回:
"[object Object][object Object]"
.append
可以接受jQuery对象(或数组),所以我建议这样做:
var c = [$('<li>').html(root_nodes[0]), $("<li>").html(root_nodes[1])];
root.html($("<div>").html($("<ul>").append(c)));
答案 2 :(得分:2)
Javascript的split()方法返回一个数组。在上面的代码中,您需要接收并存储该数组。
root_nodes = root_nodes.split("|")