javascript - 如何以编程方式检测对象是否为 jQuery 对象?

标签 javascript jquery

如何以编程方式检测对象是否为 jQuery 对象?例如:

// 1. declare some variables
var vars = [1, 'hello', ['bye', 3], $(body), { say: 'hi' }];

// 2. ??? : implement function that tests whether its parameter is a jQuery object
function isjQuery(arg) { /* ??? */ }

// 3. profit
var test = $.map(vars, isjQuery); /* expected [ false, false, false, true, false ] */

最佳答案

API 记录的最简单方法是测试 .jquery属性:

function isjQuery(arg) {
    return !!arg.jquery;
}

但是,如果您想确定它是一个 jQuery 对象而不是其他具有假 .jquery 属性的对象,其他答案建议 instanceof jQuery 并测试构造函数也能正常工作。

(.jquery 属性在形式上是表示 jQuery 版本的字符串,但 API 示例使用它来测试对象是否为 jQuery 对象。)

关于javascript - 如何以编程方式检测对象是否为 jQuery 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5119705/

相关文章:

jquery - 这是dom操纵吗?

javascript - === 在 javascript 和从 php ajax 文件返回的响应中

javascript - 代码不显示 json 页面中的数据

javascript - 如何在 Chrome 开发者工具中找到 'add watch'?

javascript - 使用 sinon.js stub ES6 类

javascript - 如何让语音覆盖我的模态?

javascript - 使用 masonryjs 加载页面时的动画

javascript - Slick.js:获取当前和全部幻灯片(即 3/5)

javascript - 显式类型传递是否不等同于类型推断(就表达能力而言)?

javascript - 向 jqGrid jQuery 插件添加一个函数