2
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 中显示为未捕获的异常。在 SO 和 Google 中搜索无济于事,我不知道如何解决此问题。

我 100% 确定 jQuery 已正确加载。

4

1 回答 1

4

这个表情...

var selected = jQuery('input:checkbox.mychkbox:checked').each(function() {
  return this.id;
});

...似乎在这里被滥用:它会返回一个 jQuery 包装的选中复选框元素的集合,这可能不太容易字符串化(因为循环引用)。

(作为旁注,.each将在第一个没有 的元素处停止迭代id,或者将其设置为空字符串,但这在这里无关紧要)

您可能想改用它:

var selected = jQuery('input:checkbox.mychkbox:checked').map(function() {
  return this.id;
}).get();
于 2012-10-16T15:02:38.653 回答