javascript - javascript 函数中未捕获的类型错误

标签 javascript json html session-storage

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 已正确加载。

最佳答案

这个表情...

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();

关于javascript - javascript 函数中未捕获的类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12916822/

相关文章:

javascript - 如何比较 vue.js 中的属性值

javascript - Android 和 JavaScript Parse API 之间不一致

html - 水平 100% 菜单但垂直子菜单项

javascript - 调整窗口大小时 DIV 的相对高度

javascript - 将 href url 更改为父 li 菜单中的 # 标签

php - 在 WordPress 小部件管理页面中获取未知数量的选项

JavaScript 获取当前时间不工作 Firefox

java - 改造:根据响应进行 Json 解析器

python - 如何在Python中切割所需级别的无限深度的JSON数据?

Javascript header 更改过渡