向XHTML标记添加数据

向XHTML标记添加数据,html,xhtml,Html,Xhtml,我的网站是XHTML1.1,我在页面上的和标记中添加了“rel”属性,用于在页面上存储jQuery脚本的数据。当验证我的页面时,我得到错误:“没有属性'rel'”。那么,在HTML标记中存储任意数据的最佳方法是什么 我正在为我的网站制作评论页面。当输入一条注释时,它通过AJAX发布,AJAX返回所有注释的JSON。然后我查看“rel”值,查看页面上已经有哪些注释,只添加新的注释 jQuery代码运行良好,只是“rel”属性无法验证。由于rel不是li的有效属性,您应该使用id而不是属性,它在那里

我的网站是XHTML1.1,我在页面上的
  • 标记中添加了“rel”属性,用于在页面上存储jQuery脚本的数据。当验证我的页面时,我得到错误:“没有属性'rel'”。那么,在HTML标记中存储任意数据的最佳方法是什么

    我正在为我的网站制作评论页面。当输入一条注释时,它通过AJAX发布,AJAX返回所有注释的JSON。然后我查看“rel”值,查看页面上已经有哪些注释,只添加新的注释


    jQuery代码运行良好,只是“rel”属性无法验证。

    由于
    rel
    不是
    li
    的有效属性,您应该使用
    id
    而不是属性,它在那里也是有效的。

    虽然它不是XHTML规范,但您可以使用HTML5规范中包含的data-*属性

    如果希望保持完全兼容XHTML1.1,则需要创建一个模式,并将其名称空间包含在
    html
    元素中,该模式定义了要使用的属性及其应用的元素


    我认为在标记中存储“任意”数据违背了XHTML的精神。您应该改用这个方法。

    JQuery似乎喜欢用类来存储不同html元素的状态

    一个例子是jqueryui选项卡如何使用
    UI state active
    类定义当前选择的选项卡

    此方法的一个好处是,您可以很容易地根据所查找的不同状态选择图元

    作为提醒,您可以(实际上)向元素添加任意数量的类,并用空格分隔它们

    <li class="client_data already_added red_text etc">Bob</li>
    
  • Bob

  • 为什么不直接返回新评论的JSON?@Dave,我想到了,但是如果在你打开页面和你发表评论之间有人发表了评论呢。我想加载所有新评论。谢谢大家。我不知道为什么我一开始就用了'rel',我真的应该用'id'(或'name')。我喜欢扩展XHTML以支持新属性的想法。。。或者我可以切换到HTML5。你可以通过一个隐藏的输入在表单中添加一些散列(例如,最新评论的id)。保存评论(服务器端)后,检查id更大的评论并只返回这些评论。@Dave,这不是个坏主意。只是发布了相同的答案并将其删除。如果我理解正确,数据应该已经存在于HTML中。如果情况并非如此,那么您可以将数据存储在一个变量中,而无需将其添加到HTML元素中。+1您可以从今天开始使用HTML5 Doctype,所有浏览器都应该正确处理此问题。选择作为扩展XHTML帖子的答案,这很好。我不确定为什么不从一开始就这样做。