jquery - 验证 jQuery 包装集中是否存在文本

标签 jquery

基本上,我有一个 jQuery 包装集和一个日期,我想要的是验证包装集上是否不存在该日期。

我正在尝试的是以下内容:

    var selectedTourDate = $("#tourDate").val();

    var isDateBooked = $("#bookedTourDate *").each(function () {
        if (this.innerHTML == selectedTourDate) return true;
        else return false;
    });

    if (isDateBooked) alert("Date invalid");

但是 isDateBooked 包含某种函数:

jQuery.fn.jQuery.init[1]

实现这一目标的正确方法是怎样的?

最佳答案

在您的代码中,isDateBooked 是一个 jQuery 对象,它将始终返回 true。您需要测试 jQuery 对象的 .length 以确定其中是否有任何有趣的内容。

我认为你想要做的是将 .each 替换为 .filter ,然后测试生成的 jQuery 对象的长度:

var selectedTourDate = $("#tourDate").val();

var $isDateBooked = $("#bookedTourDate *").filter(function () {
    if (this.innerHTML == selectedTourDate) return true;
    else return false;
});

if ($isDateBooked.length) alert("Date invalid");

关于jquery - 验证 jQuery 包装集中是否存在文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12063533/

相关文章:

javascript - 使用 JQuery 转换背景图像时遇到问题

javascript - 在 Javascript 中解码从 PHP 检索的 json 对象

jQuery .css 方法不执行

javascript - Jquery Hover 在 Firefox 或 IE 中不起作用

jQuery 替换表主体内容

javascript - Bootstrap Alert 不褪色和向上滑动

javascript - 父级的 iframe 事件

javascript - iframe 调整大小

javascript - 如何在 jquery 对话框模型表单或引导弹出窗口中显示 CRUD View

javascript - 使用标准 JS Promise 和 jQuery addClass 调用