我正在尝试在jQuery的e.classList
上测试为空(如果为它传递参数,请讨论jQuery传递给事件的DOM映射值)。
所以,我正在做一个荒谬的JS检查为空,因为我想退出函数e.classList.length
小于整数1
的实例。
奇怪的是,我已经尝试了
if ( ( typeof newTargetClasses !== "undefined" && newTargetClasses !== null ) && newTargetClasses.length > 0 ) {
但即使true
中没有项目:/
e.classList
$( window ).on( 'mouseenter', '.my-class', function( e ) {
var newTargetClasses = e.toElement.classList;
if ( ! isNaN( newTargetClasses.length ) && newTargetClasses.length > 0 ) {
$.each( newTargetClasses, function() {
if ( ! thePopover.has( '.' + this ).length > 0 ) {
el.my_jquery_func('hide');
return false;
}
})
}
}
我错过了这些布尔值?在我尝试检查的条件期间newTargetClasses.length
返回0
的val并且number
的类型
答案 0 :(得分:1)
classList不是jQuery的东西,它是一个DOM API的东西。这也不能完全跨浏览器工作,因为根据MDN,IE9不支持它。
至于你的代码,如果条件为
,你应该能够简化// classList will always be falsy in IE9 so this will never run
if (e.toElement.classList && e.toElement.classList.length ) {}.
如果您希望它是跨浏览器,那么您可以尝试类似
的内容if ( $.trim(e.toElement.className) ) { ... }