调用HTML对象上的Underscore js isEmpty在iOS8中返回true

时间:2014-10-09 13:32:56

标签: javascript underscore.js

可以在HTML对象上使用下划线js isEmpty 函数吗?

e.g。

_.isEmpty(document.getElementById('myDiv'));

这似乎可用于精美的桌面平台和Android设备,但在iOS中返回true,尽管我知道它应该是假的。

可以在HTML对象上使用,还是应该使用其他方法?

更新

这是isEmpty函数

// Is a given array, string, or object empty?
// An "empty" object has no enumerable own-properties.
 _.isEmpty = function(obj) {
    if (obj == null) return true;
    if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;
    for (var key in obj) if (_.has(obj, key)) return false;
    return true;
 };

它在_.has(obj,key)部分失败了

_.has = function(obj, key) {
    console.log('hasOwnProperty: obj=',obj,'key=', key, ':', hasOwnProperty.call(obj, key));
   return hasOwnProperty.call(obj, key);
}

出于某种原因,在iOS8中,在HTML对象上调用hasOwnProperty总是返回false。

e.g。来自iOS8的输出

hasOwnProperty: obj= div#game-holder key= align : false

有什么想法吗?

0 个答案:

没有答案