3

我需要在临时变量中存储一些元素,所以当我回到那个 pahe 时,我可以在页面加载时显示它们

我有关于8 li element但让我点击5 li,所以我想在5 li某处存储 id

$("#divPopup").on("click", "li", function () {
            ...
                var newId = $this.attr('Id').replace("Left", "Right")

                // here i want to store newID, each time user click on event, it should be unique values  , i want to store in $('#hdnValueProjectBtn').val(newId);
            }
            else {
                var newId = $this.attr('Id').replace("Left", "Right")
                $('#' + newId).hide();
            }
        });
4

3 回答 3

1

您可以localStorage在支持的浏览器中使用并回退到Cookies旧的浏览器中,这是一个示例:

// store value
if (window.localStorage !== undefined) {
    window.localStorage.setItem("li_id", id);
} else {
    // WARNING: the following will overwrite current document cookie.
    document.cookie = ["li_id", "=", id, "; domain=.", window.location.host, "; path=" + window.location.pathname + ";"].join("");

}

// get value
var savedValue;
if (window.localStorage !== undefined) {
    savedValue = window.localStorage.getItem("li_id");
} else {
    savedValue = document.cookie.split(";")[0].split("=")[1];
}

alert(savedValue);

请注意,id在上面的代码段中是您要存储的值。

于 2013-03-05T18:17:00.473 回答
0

您使用数据将数据存储在 jQuery 中的 DOM 节点上,变量存储在节点对象中。这是为了容纳复杂的对象和引用,因为将节点元素上的数据存储为属性只会容纳字符串值。

$('#foo').data('foo', 'baz');

console.log( $('#foo').attr('data-foo') );
//outputs "bar" as the attribute was never changed

console.log( $('#foo').data('foo') );
//outputs "baz" as the value has been updated on the object
于 2013-03-05T18:22:25.187 回答
0

JimJimmy 所说的是正确的。您是否使用任何服务器端脚本?

  • 如果您只使用客户端脚本,那么您可以完成任务的唯一方法是 1) Cookie 2) LocalStorage 3) SessionStorage - 仅用于该会话
于 2013-03-05T18:17:23.750 回答