如何在Javascript或HTML中保存文章ID?

时间:2014-06-27 06:54:20

标签: javascript jquery html json jquery-ui

我在网页中有一个链接列表,用户可以点击并评论它们。我通过JSON加载链接,每个链接由id唯一标识。

我的问题是如何知道点击了哪个链接?即使我有一个id,我在哪里存储它(如果是Javascript对象,怎么样?)?我想我不能把它作为标签属性,因为用户可能会改变它。

5 个答案:

答案 0 :(得分:1)

听起来您希望能够创建指向具有特定ID的页面的链接,而不实际显示ID?如果是这种情况,我认为你会以一种简单的方式遇到困难,因为javascript客户端和用户很可能无论如何都能改变id。我建议将id保留在链接中(例如<a href="url.com/post/42>),而是在加载页面时,以某种方式检查提供的URL是否实际上是有效的现有ID。

答案 1 :(得分:1)

您可以使用对最终用户隐藏的数据属性。

例如:<a id="link1" data-myuniqueid="XXXXX"> Link1 </a>

使用Javascript,您可以访问/修改数据值

var ele = document.getElementById("link1");
var uid = ele.getAttribute('data-myuniqueid'); // For compatibility
var uid = ele.dataset.myuniqueid;  // HTML5 way - does not work in old browsers

如果您需要更多解释来使用自定义数据属性,this可能会有所帮助。

- 编辑 -

我猜上述答案不足以解决您的问题。您可以将对象存储在数据属性中或尝试这样的事情 -

var ele = document.getElementById("link1");
ele.myuniqueid = "XXXXXX"
即使在源代码中,

myuniqueid也不会对用户可见。

答案 2 :(得分:0)

您可以将其添加为标记属性 - 任何发送到浏览器的内容,用户都可以更改。如果用户想要更改id - 让他这样做。他也可以点击他想评论的文章,​​也可以这样做。

答案 3 :(得分:0)

您可以使用所有浏览器支持的HTML5中的sessionStorage。如果页面重新加载,它也可以保留

//for setting value 
sessionStorage.LinkClicked= "4";

//to get the value
var temp = sessionStorage.LinkClicked;

以下是更多信息http://www.w3schools.com/html/html5_webstorage.asp

的链接

希望,它可能对你有所帮助。祝你今天愉快。 :)

答案 4 :(得分:0)

用于在客户端存储数据。 如果你不挑剔跨浏览器的兼容性,你可以使用html5灵魂,如本地存储。

http://html5sql.com/

http://diveintohtml5.info/storage.html

如果您希望从元素中获取id并使用jQuery,则可以在事件处理程序中使用它

$().attr('id');