我正在做一个应用程序,页面上会显示多个项目。对于每个项目,将有很多信息。数据在.aspx.cs后面的代码中完整生成,并显示在ui。
中当用户将鼠标悬停在特定项目上时,除了可见元素之外,我需要从后面的代码中获取一些其他信息来抓取该项目。现在我正在用隐藏的div中分隔的管道存储大量信息。
当用户通过鼠标移动项目时,我会转到该div的上下文并获取隐藏的值并显示一些弹出窗口..我只是想知道这是否是正确的方法,或者是否有任何其他好的存储方式所有信息都作为客户端的对象。
我在UI端使用jquery。
答案 0 :(得分:2)
jQuery允许您以更优雅的方式存储针对DOM对象的数据。
请在此处查看data()
api:http://api.jquery.com/jQuery.data/
经常使用但可以使您的X / HTML不兼容的另一种方法是创建自己的属性。
例如。 <div id="myDiv" someattr="lipsum dolor sit emet"> ... </div>
然后在你的jQuery中,你可以通过$('myDiv').attr('someattr')
答案 1 :(得分:1)
您可以将数据存储在JavaScript对象中。在后端生成JSON并在客户端解析它(或者只是将其作为文字赋值给变量)。
答案 2 :(得分:1)
就个人而言,我经常为此目的使用html属性,因为为每个值创建单独的div并不完全简洁或可读。像这样<div class="feed" feed_id="id goes here" some_other_data="some other value">
您还可以从HTML 5中使用新的data attributes,从而使您的网页成为有效的HTML(如果您关心完全通过验证)。
修改强>
Javascript也可能是一个解决方案,如 Ates 备注,但恕我直言,它只适用于少量信息。如果你考虑上面的例子,给每个带有'feed'类的元素赋予'feed_id'值在JavaScript中并不是很简单。