【发布时间】:2014-10-09 16:58:37
【问题描述】:
如果没有找到替换变量(在 localStorage 中),以下脚本会完全删除 Value 属性而不是单独放置它,这是一个非常奇怪的错误。
我的html:
<form>
<input class="xfield" type="hidden" name="source" value="x111" />
</form>
JS
<script>
var thecode = localStorage.getItem("xcode");
if (thecode != "undefined" && thecode != "null") {
$(".xfield").attr("value",thecode);
}
</script>
基本上,如果在 localStorage 中找到 xcode 项目,一切正常,默认值将被替换。但是,如果在 localStorage 中找不到 xcode,则结果(而且似乎只有在 Chrome 中,Firefox 工作正常,并且保持默认状态)是 value 属性被完全删除。
我尝试使用 .prop 代替并将其包装在 $(window).load(function(){ 中,但没有任何效果。知道我在这里可能做错了什么吗?
【问题讨论】:
-
你试过
$(".xfield").val(thecode);吗? -
会不会是把“null”和“undefined”当成字符串,而它们是关键字?
标签: javascript jquery google-chrome attr prop