我有一个特殊情况,我需要一个文件名,而不是一次,而是两次,因为我将变量传递给ASP.NET MVC控制器。将文件名存储在像span或div这样的DOM元素中,并使用jQuery的.text()函数获取值是一个好主意吗?或者更好的方法是使用初始化然后连续操作的类似JSON的对象?
然而问题仍然存在。将变量存储在HTML DOM元素中是一个好主意还是坏主意?
答案 0 :(得分:2)
正如@Atticus所说,无论哪种方式都可以这样做,我会根据我需要的数据做两件事:如果它与元素特别相关,我会将它存储在元素上;如果它对页面更通用,我将使用JSON表示法传回一个对象。
在DOM元素上存储数据时,不需要将它们作为文本存储在元素中。您可以改用data-*
attributes。这些在HTML5中有效,现在适用于所有浏览器。唯一的缺点是如果你使用验证作为工作流程的一部分,并且你还没有使用HTML5来验证(这也就不足为奇了,验证器还没有准备就绪,那么规范仍然存在相反,它们不会在HTML 4.01或更低版本中验证。但浏览器对他们来说很好,这是HTML5编纂(并统治)当前实践的领域之一,而不是创新。
答案 1 :(得分:1)
任何一个都可以工作,并且可以将数据存储在DOM中。它更多地取决于您尝试完成的操作的复杂性,这听起来很简单 - 存储文件名。我觉得你应该这样做好。存储在JSON对象中的工作原理也是如此,我会选择最适合您的结构,并且通过客户端/服务器握手可以更轻松地工作。