Javascript 不确定此选择器返回大小0的原因

Javascript 不确定此选择器返回大小0的原因,javascript,jquery,html,Javascript,Jquery,Html,我试图编写一些javascript来确保表中包含特定类的lineNumber tr元素。我有以下循环来执行此操作: while ($(".functionCodeLine").size() < lineNumber) { console.log($(".functionCodeLine").size()); funcLineRow = $('<tr class="functionCodeLine"></tr>');

我试图编写一些javascript来确保表中包含特定类的lineNumber tr元素。我有以下循环来执行此操作:

 while ($(".functionCodeLine").size() < lineNumber) {

        console.log($(".functionCodeLine").size());

        funcLineRow = $('<tr class="functionCodeLine"></tr>');
        table.append(funcLineRow);

...
}
但是在我的log语句中,我看到返回的大小总是0。如果我检查DOM,我会看到新的tr被添加到class属性中。所以我有点不明白为什么大小总是0,循环永远不会终止。我错过了什么

.

试试这句话

$(".functionCodeLine").length

因此,我不确定上述代码中的问题是什么,但我能够解决它:

while (table.find(".functionCodeLine").size() < lineNumber) {

    console.log(table.(".functionCodeLine").size());

    funcLineRow = $('<tr class="functionCodeLine"></tr>');
    table.append(funcLineRow);

...
}

请创建一个演示。为什么要使用这样的循环?你只需要:得到实际的元素数量,得到所需的元素数量,将两者区别开来,然后使用fori=0;i=差异loop@pomeh假设OP可以让它工作,在本例中,while循环比for循环更简洁。@pomeh,您也在使用循环。真令人惊讶。但是while循环会变慢,因为它必须反复读取DOM。虽然使用长度是更好的做法,但这不会解决OPs问题,因为大小和长度返回等效值。是的,长度会产生相同的结果。使用长度仍然更好。但是,即使不是解决方案:.size方法在功能上等同于.length属性;但是,首选.length属性,因为它没有函数调用的开销。如果它可以工作,请将问题标记为已解决,好吗?