假设cache["s"].length = 9
和cache["n"]
是DOM树中的元素,
cache[ "c" ] = $("<div/>");
for( n = cache["s"].length; n >= 0; n-- ){cache["n"].append(cache["c"]); }
似乎不起作用,我不知道为什么。 它将div元素ONCE而不是9次附加。
但是,如果我说,
cache[ "c" ] = "<div/>";
for( n = cache["s"].length; n >= 0; n-- ){cache["n"].append(cache["c"]); }
它有效,我得到9个元素,但它们没有正确插入到DOM树中。
问题是什么,如何在不失速的情况下解决问题?
答案 0 :(得分:1)
cache["c"]
是一个元素,这意味着当你一遍又一遍地追加它时,它不会创建一个新的div
,而是取旧的并移动它。使用.clone()
:
cache["n"].append(cache["c"].clone());
答案 1 :(得分:1)
cache[ "c" ] = $("<div/>");
这里cache[ "c" ]
是div元素的一个实例,如果你尝试多次使用它,它会替换它的实例。
但是如果使用cache[ "c" ] = "<div/>";
,则每次都附加新的div元素。
如果您想使用cache[ "c" ] = $("<div/>");
,请尝试每次都附加其克隆。