Javascript 使用localStorage值作为属性选择器

Javascript 使用localStorage值作为属性选择器,javascript,jquery,local-storage,Javascript,Jquery,Local Storage,我想使用localStorage值作为属性选择器 $("#lf_options input[value=WYSIWYG]").attr("checked", true); 工作正常,但是当我尝试使用localStorage值时,什么也没有发生 $("#lf_options input[value=" + localStorage.viewMode + "]").attr("checked", true); 这样也不行 $("#lf_options input[value=" + localS

我想使用localStorage值作为属性选择器

$("#lf_options input[value=WYSIWYG]").attr("checked", true);
工作正常,但是当我尝试使用localStorage值时,什么也没有发生

$("#lf_options input[value=" + localStorage.viewMode + "]").attr("checked", true);
这样也不行

$("#lf_options input[value=" + localStorage["viewMode"] + "]").attr("checked", true);
localStorage[viewMode]确实设置为WYSIWYG

我错过了什么

编辑:我在键入帖子时拼错了所见即所得,但这不是问题

作为一般规则,对选中的属性使用prop而不是attr

如果属性名称包含特殊字符(包括空格),也需要在其周围加引号:

试试这个:

$("#lf_options input[value='" + localStorage.viewMode + "']").prop("checked", true);
如果该值可能以某种方式增加了空白,则可能还需要修剪该值:

$("#lf_options input[value='" + $.trim(localStorage.viewMode) + "']").prop("checked", true);
正如@Markai所说,您给出的示例输入了WISYWIG vs WYSIWYG,这是一个简单的打字错误。所见即所得是所见即所得的缩写,因此两个版本都拼写错误:
如果所有这些都失败了,请提供一个页面HTML示例,以便我们可以运行测试,例如在JSFIDLE

控制台中。loglocalStorage.getItem'viewMode';同时选中的是属性,而不是属性。我认为以上的工作是可行的,但是你应该考虑把它换出来更合适。欲了解更多信息,请参阅…viewMode变量WYSIWIG中的值似乎与您在第一条语句中签入的值不同,WISYWIGWYSIWYG是“所见即所得”的缩写,因此两个版本都拼写错误:我看到的是您无法想象得到的-视觉编辑器中的一个新范例它工作正常,但当我将它集成到chrome扩展中时,它确实做到了nothing@GiorgioL:那把小提琴管用。它是一个特定的浏览器吗?