为什么这段代码不适用于Chrome 4.0,但适用于FF 3.5。发生的问题是选择器$('li#node - '+ nodes [i] .id +'')。append函数在chrome中不起作用,但在firefox中工作正常。附加到在Chrome中运行时创建的DOM元素是否存在问题?我应该使用Jquery.live()吗?Jquery帮助需要 - 创建后立即选择dom元素
$.getJSON("/data/all" , function(data){
nodes = data;
len = nodes.length;
for(i=0; i<len; i++){
if(i==0){
// works on FF && Chrome
$('ul#root').append('<li id="node-'+ nodes[i].id +'"><input type="checkbox" name="">'+ nodes[i].name);
// works on FF only
$('li#node-'+nodes[i].id +'').append('<ul id="' + nodes[i].id +'>');
}
else{
...
...
}
Chrome JS运行速度快吗? – Frankie 2010-08-30 23:35:17
你在这里看到同样的问题http://jsbin.com/elozi5/2/edit? 这个简化的例子适用于所有浏览器? – Daveo 2010-08-31 00:28:09
@Daveo - 是的简化示例适用于所有浏览器。但是,当我引入数组节点[]时,它停止工作。 节点[]具有以下结构 节点= {[ID,姓名,PARENT_ID,PARENT_NAME},{..},...] 我已经贴上我的代码在这里http://jsbin.com/ifayu3 /编辑。看看,我试图创建一个快速和脏的复选框层次结构。 谢谢。 – papdel 2010-08-31 00:54:28