使用本地存储值作为属性选择器

Using localStorage value as attribute selector

本文关键字:属性 选择器 存储      更新时间:2023-09-26

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

$("#lf_options input[value=WYSIWYG]").attr("checked", true);

工作正常,但是当我尝试使用本地存储值时,没有任何反应

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

这样既不是

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

localStorage["viewMode"] 确实设置为 "WYSIWYG"

我错过了什么?

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

  1. 作为一般规则,对checked属性使用 prop 而不是 attr

  2. 如果属性名称包含特殊字符(包括空格),则也需要用引号括起来:

试试这个:

$("#lf_options input[value='" + localStorage.viewMode + "']").prop("checked", true);

如果该值可能以某种方式获得了空格,则可能还需要修剪该值:

$("#lf_options input[value='" + $.trim(localStorage.viewMode) + "']").prop("checked", true);
  1. 正如@Markai所说,您给出的示例输入错误 WISYWIG vs WYSIWYG ,这是一个简单的错字。 WYSIWYGWhat You See Is What You Get的缩写,所以两个版本都拼写错误:)

如果失败了,请提供您的页面HTML示例,以便我们可以运行测试(例如在JSFiddle中)