gpt4 book ai didi

jQuery:动态加载元素的大小/长度

转载 作者:行者123 更新时间:2023-12-01 02:22:05 31 4
gpt4 key购买 nike

我有一个表单,我通过 jQuery 的加载函数动态添加新的输入和选择元素。有时加载的元素故意为空,在这种情况下我想隐藏容器 div,这样它就不会破坏样式。

问题是,我似乎无法计算加载的元素,因此不知道是否应该隐藏它。

例如我有这个:

<div id="param_container"></div>

在某些下拉菜单更改中我绑定(bind)了此功能:

alert($('#param_container').children().length);

// Returns and loads new element correctly. Can be empty.
$('#param_container').load('/get_params', {cat:category});

if ($('#param_container').children().length ) {
$('#param_container').css('display', 'block');
} else {
$('#param_container').css('display', 'none');
}

alert($('#param_container').children().length);

即使添加了新的子元素,子元素的长度也始终为 0。

有什么想法吗?

编辑:

我的解决方案

$('#param_container').load('/get_params', {cat:category}, function(response) {
if (response) {
$('#param_container').css('display', 'block');
} else {
$('#param_container').css('display', 'none');
}
});

最佳答案

原因是load调用是异步,它在函数返回后完成。

您可以使用成功回调,如下所示:

alert($('#param_container').children().length);

// Returns and loads new element correctly. Can be empty.
$('#param_container').load('/get_params', {cat:category}, function() {
if ($('#param_container').children().length ) {
$('#param_container').css('display', 'block');
} else {
$('#param_container').css('display', 'none');
}

alert($('#param_container').children().length);
});

关于jQuery:动态加载元素的大小/长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13818412/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com