使用localStorage值作为属性选择器

时间:2014-11-12 15:31:54

标签: 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=" + localStorage["viewMode"] + "]").attr("checked", true);

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

我错过了什么?

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

1 个答案:

答案 0 :(得分:0)

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

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

  3. 试试这个:

    $("#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的缩写,因此两个版本拼写错误:)
    2. 如果没有这一切,请提供您的页面HTML示例,以便我们可以运行测试(例如在JSFiddle中)