当您点击“添加Div”按钮时,为什么数字不会增加?
答案 0 :(得分:2)
size()
时, d
将被评估一次。您需要在函数内移动赋值,以便每次都对它进行求值。
或者,如果你想让它保持在外面,你可以把它变成一个函数:
var d = function() { return '<div class="historyItem">Test ' + ($("#history > div").size() + 1) + '</div>'; }
然后
$('#history').append(d());
答案 1 :(得分:1)
http://jsfiddle.net/cN2zR/3/现在就做了:)
使d成为一个函数,以便每次添加都可以运行。
var d = function(){
return '<div class="historyItem">Test ' + ($("#history > div").size() + 1) + '</div>';
}
此外,我注意到滚动链接的问题。滚动到容器底部的快速技巧是使用.scrollTop([arbitrary high number])
答案 2 :(得分:0)
因为jquery结果的大小是每次使用时内联和ont计算的。 您可以改为将d更改为返回HTML字符串并使用它的函数,以便在每次引用时获得计算的大小。
d = function(){
return '<div class="historyItem">Test ' + ($("#history > div").size() + 1) + '</div>';
}
$('#b').click(function() {
//console.time("timing Time");
$('#history').append(d());
//console.timeEnd("timing Time");
$('#history').scrollTo('max');
});