有一个函数,在加载脚本时,我会克服一切
$("#groups input[type=button]") // где input созданны динамически
如何使用 jQuery 找到动态创建的元素?!以前做过,只有点击或更改事件。
而且我需要在加载后立即进行搜索,而无需用户采取任何操作。
事实是,当页面加载和调整大小时,我的函数应该可以工作:
$(function () {
//...
AdaptiveFilter(); // здесь НЕ работает поиск динамических элементов
$(window).resize(function() {
AdaptiveFilter(); // здесь работает поиск д.э
});
//...
});
function AdaptiveFilter() {
if ($(window).width() > 750) {
var rowWidth = $("#groups").width();
var countItems = Math.floor(rowWidth / (200 + 5));
var inputOrder = -1;
var detailsOrder = 0;
$("#groups input[type='button']").each(function() {
if (($(this).index()/2) % countItems == 0) {
inputOrder += 2;
}
else {
inputOrder++;
}
$(this).css("order", inputOrder);
});
$(".details").each(function() {
if((($(this).index()-1)/2) % countItems == 0) {
detailsOrder += countItems + 1;
}
$(this).css("order", detailsOrder);
});
$(".details").width(countItems * 200);
}
else {
$(".filterCategory").children().each(function() {
$(this).css("order", 0);
});
$(".details").width("100%");
}
}
第一次调用未找到的元素
AdaptiveFilter();
稍后创建。如果存在尚不存在的元素,那就太奇怪了。问题代码缺少带有“动态元素在此处创建!”字样的箭头。