Jquery “:empty” 不起作用 - 检查所有 <DIV> 是否都包含一些文本或空

Jquery ":empty" not working - To check if all <DIV> contains some text or empty

本文关键字:是否 DIV 包含一 文本 不起作用 empty 检查 Jquery      更新时间:2023-09-26

>我在运行时生成了几个框,我想确认是否所有框都是"空",那么用户应该无法继续。但是,即使单个 Box 包含正确的值(而不是 Empty(,则用户应该能够继续。

我创建了以下代码:

$(document).ready (function () {
    setProceedState();
});
function setProceedState() {
    if ($('.type').length == $('.type:empty').length) {
        alert("Empty" + $(".type").html());
        $("#stepAutomapConfirm").attr("disabled", true);
        $("#stepAutomapConfirm").addClass("disabled").removeClass("active");
    } else {
        alert("NOT Empty" + $(".type").html());
        $("#stepAutomapConfirm").attr("disabled", false);
        $("#stepAutomapConfirm").addClass("active").removeClass("disabled");
    }
}

不知何故,这段代码在小提琴中工作正常:http://jsfiddle.net/aasthatuteja/xJtAV/

但是在我的 MVC 部分视图页面上,它没有完全正常工作:

如果盒子是"空的",它总是给我正确的警报,

但是当它在运行时生成包含数据的框时,它仍然显示"空"警报。我也检查了"查看源"和"检查元素",在源中数据确实存在,然后,当我手动刷新我的页面时,它会给出正确的警报">不为空"。

请建议我缺少什么,或者JQuery":empty"的替代方案可以使代码在MVC部分视图中工作!

如果您需要任何其他信息,请告诉我!

您需要在生成盒子后重新执行您的函数,在 ready 仅适用于 dom ready 中存在的盒子。