javascript - 即使 DOM 中没有匹配的子元素,jQuery.find() 也会返回一个对象

标签 javascript jquery

我试图在元素“”中找到一个 ID 为“”的元素,因此它是它的子元素。

我正在使用 $.find 方法执行搜索。

如果找到子对象,我想执行一些操作,如果找不到子对象,我想做不同的事情。

但是,即使我知道不存在这样的子元素,jQuery.find 方法报告了一个我不确定的对象,在 Watches 窗口中检查它是什么。

这是相关的代码片段:

function CreateResourceKeyTextBox(resourceKeyId, editMode) {
    var resourceKeyTableCell = $("#tdKeyResourceKeyId" + resourceKeyId);

    var resourceKeyNameTextBox = null;

    var alreadyExistingResourceKeyNameTextBox = resourceKeyTableCell.find('#txtResourceKeyName' + resourceKeyId);

    if (alreadyExistingResourceKeyNameTextBox != null && typeof alreadyExistingResourceKeyNameTextBox != "undefined") {
        resourceKeyTableCell.html('');
        resourceKeyNameTextBox = alreadyExistingResourceKeyNameTextBox;
        resourceKeyNameTextBox.css('display', 'block');
        resourceKeyNameTextBox.appendTo('#tdKeyResourceKeyId' + resourceKeyId);
        resourceKeyNameTextBox.css('width', '96%');
    }

最佳答案

jQuery 查询函数总是返回一个对象,即使没有匹配的 DOM 元素。

检查长度,如果集合中没有元素,它将是0:

if (alreadyExistingResourceKeyNameTextBox.length ...

关于javascript - 即使 DOM 中没有匹配的子元素,jQuery.find() 也会返回一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19223705/

相关文章:

javascript - 延时遍历数组

javascript - 链接函数中的 Angular 单元测试 $attrs

javascript - 如果未选中任何复选框,则将状态设置为 0

javascript - 如何在三星电视模拟器上打开新屏幕?

javascript - jQuery :has selector filter trouble

php - 每 5 分钟从 mysql 更新一次的 jquery div 容器

javascript - 使用 javascript/bootstrap 时在单击时更改按钮图标

javascript - AngularJS 全局 Controller

javascript - 清除自动完成数据 Jquery

javascript - OpenWeather API - 提取 JSON 数据