Storage.prototype.setObj = function(key, obj) {
return this.setItem(key, JSON.stringify(obj))
^-----Error in this line: Uncaught TypeError: Accessing selectionDirection on an input element that cannot have a selection
}
var selected = jQuery('input:checkbox.mychkbox:checked').each(function() {
return this.id;
});
sessionStorage.setObj("savedCollSearch",selected);
我正在使用jQuery 1.7.2和Chrome 22。 这个错误在Firefox 16中显示为Uncaught Exception。在SO中搜索并且Google没有帮助,我也不知道如何解决这个问题。
我100%确定jQuery已正确加载。
答案 0 :(得分:4)
这个表达......
var selected = jQuery('input:checkbox.mychkbox:checked').each(function() {
return this.id;
});
...似乎在这里被误用了:它会返回一个jQuery包装的复选框元素集合,这可能不太容易stringify(因为循环引用)。
(作为旁注,.each
将停止第一个没有id
的元素的迭代,或将其设置为空字符串,但这不会这里很重要)
您可能想要使用它:
var selected = jQuery('input:checkbox.mychkbox:checked').map(function() {
return this.id;
}).get();