Javascript 追加后元素的大小不更新

Javascript 追加后元素的大小不更新,javascript,jquery,Javascript,Jquery,我正在编写以下代码,如下所示: console.log("size before: " + list.size()); list.append($(newItem)); console.log("size after: " + list.size()); 控制台中的输出为: size before: 1 size after: 1 size before: 1 size after: 1 size before: 1 size after: 1 HTML: 项目 我试图在其他函数

我正在编写以下代码,如下所示:

console.log("size before: " + list.size());
list.append($(newItem));
console.log("size after: " + list.size());
控制台中的输出为:

size before: 1
size after: 1
size before: 1
size after: 1
size before: 1
size after: 1 
HTML:

  • 项目
我试图在其他函数中执行基于索引的操作,但由于元素大小和索引不更新,因此无法使其正常工作。我能做些什么吗


我已经研究过需要加载的解决方案,但是我认为如果其他事件正在使用索引(此时,它已经加载了),那么它将不起作用。

您的
列表是一个缓存的jQuery对象,它不会自我更新。您应该自己操作集合(如果要向集合添加元素,请使用
add
方法),或者创建一个新集合

还请注意,您正在追加元素,jQuery不会将追加的元素添加到当前集合中,如果
list
引用
ul#list
元素,
size
返回集合中选定元素的计数,而不是其子元素的计数。您可能正在寻找
子类
方法:

console.log("size before: " + list.children().length);
list.append($(newItem));
console.log("size after: " + list.children().length);

你能告诉我们什么是
list
吗?newItem是list的有效子项还是仅仅是一些文本?你的列表是一个缓存的jQuery对象,它不会自我更新。我在问题中添加了HTML@未定义有办法解决这个问题吗?
console.log("size before: " + list.children().length);
list.append($(newItem));
console.log("size after: " + list.children().length);