javascript - 检查 jquery 对象内容

标签 javascript jquery dom

有谁知道,为什么 jquery 的行为是这样的:

var $test = $(window).add(document).add("body");
$test.is(window) -> false
$test.is(document) -> true
$test.is("body") -> true

如何通过“is”判断一个 jquery 对象是否包含窗口?

最佳答案

var $test = $(window).add(document).add("body");
$test.is(function(index, elements) {
    return this === window;
});

jQuery“is()”方法检查传递的元素的节点类型。 Document 的 nodeType 为 9。Body 的 nodeType 为 1。Window 没有 nodeType,因此“undefined”的计算结果为 false。要解决这个问题,请构建您自己的过滤功能,如上图所示。

关于javascript - 检查 jquery 对象内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32498273/

相关文章:

PHP MYSQL 上传文件并存储为 blob

javascript - 如何重新分配一个对象以便它也改变引用的对象?

javascript - 将 JavaScript 字符串转换为 Map Flutter

javascript - 如何让 Angular 在 ajax get 之后更新集合

jquery - Tinymce 按钮未出现在某些页面中

javascript - 查找动态创建的div

javascript - 当我分配给 element.style 时,为什么我的元素的样式没有改变?

javascript - 影子 DOM 中的 JQuery 选择元素

javascript - 如何处理React Native中多个组件的数据获取?

javascript - 如何在输入文本后显示按钮