我有一个函数,我希望能够允许传入常规 javascript DOM 元素对象或 jQuery 对象。如果它还不是一个 jQuery 对象,我会把它变成一个。
有谁知道一种非常可靠的检测方法。
function functionName(elm){
//Detect if elm is not a jquery object in condition
if (elm) elm = $(elm);
}
一种合乎逻辑的方法是检测 DOM 元素对象的属性之一。问题是,哪种属性检测起来最可靠?
我也可以用任何一种方式使它成为一个 jquery 对象,因为 jQuery 没有类似这样的问题: $($imajQueryObjAlready);然而,这个问题的目的不仅仅是解决问题,而是找到一种检测它是 DOM 对象还是 jQuery 对象的好方法。
最佳答案
要测试 DOM 元素,您可以检查其 nodeType
属性:
if( elm.nodeType ) {
// Was a DOM node
}
或者您可以检查 jQuery 属性:
if( elm.jquery ) {
// Was a jQuery object
}
关于javascript - 检测 DOM 对象与 jQuery 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4140015/