我的网站是XHTML 1.1,我在页面上的<li>
和<div>
标记中添加了'rel'属性,以便在页面上存储jQuery脚本的数据。验证我的页面时,我收到错误:“没有属性'rel'”。那么,在HTML标签中存储任意数据的最佳方法是什么?
我正在为我的网站撰写评论页面。输入注释后,将通过AJAX进行POST,后者返回所有注释的JSON。然后我查看'rel'值以查看页面上已有哪些评论,并仅添加新评论。
jQuery代码工作正常,只是'rel'属性不能验证。
答案 0 :(得分:7)
虽然它不是XHTML规范,但您可以使用HTML5规范中包含的data- *属性。
http://html5doctor.com/html5-custom-data-attributes/
如果您希望完全符合XHTML 1.1标准,则需要创建一个模式并在html
元素中包含其名称空间,其中模式定义了您要使用的属性,以及元素他们适用。
答案 1 :(得分:1)
由于rel
不是li
的有效属性,您应该使用id
代替属性,而且它也有效。
答案 2 :(得分:0)
我认为在标签中存储“任意”数据违背了XHTML的精神。您应该使用jQuery.data方法。
答案 3 :(得分:0)
JQuery似乎喜欢将类作为一种为不同的html元素存储状态的方法。
一个例子是jQuery UI选项卡如何使用ui-state-active
类来定义当前选择的选项卡。
此方法的一个好处是,您可以根据所需的不同状态轻松选择元素。
提醒一下,您可以根据需要为元素添加(虚拟)尽可能多的类,并用空格分隔它们。
<li class="client_data already_added red_text etc">Bob</li>