我有一个使用Bootstrap 4用c#编写的ASP.NET Web App,它可以在容器div中动态生成一组div。最初,当在服务器上生成div时,div具有各种宽度。当div返回浏览器并放置在容器div中时,我想使用jQuery将所有div的宽度设置为等于最宽div的宽度+ 100px。
现在我下面的jQuery代码执行以下操作: 1)将从服务器返回的div的生成的HTML放入容器div中。 2)调用setTimeout以确保在继续操作之前将divs完全放置在容器div中。 3)调用我的MaxElementWidths函数以获取最宽div的宽度,在宽度上添加100px,然后将所有其他div的宽度设置为该值。
function MaxElementWidths(strSelection) {
var maxWidth;
maxWidth = Math.max.apply(null, $(strSelection).map(function () {
return $(this).outerWidth();
}).get());
$(strSelection).width(GetMaxWidth(strSelection) + 100);
}
$('#containerDiv').innerHTML = returnedDivsHTML;
setTimeout(function () { MaxElementWidths('#containerDiv'); }, 3000);
这似乎是命中或未命中的结果。有时maxWidth最终为0(零),并且div仅分配了100px的宽度。有谁知道我如何确保div获得最宽的div + 100px的宽度?我可以在div返回浏览器之前在服务器端用C#完成此操作,是Bootstrap解决方案,还是可以修改jQuery代码?