非(X)HTML属性......任何缺点?

Don*_*rve 6 html xml xhtml jquery namespaces

我一般都试图在编写Javascript时坚持使用仅DOM属性.既然我已经从Prototype转换为jQuery,那么我可以通过将各自的属性添加到各种DOM元素中来获得一些重要的经验,主要是能够设置一个非常易读的编码约定来处理AJAX请求.

作为一个简短的例子,这意味着我做的事情就像

<div type="book" app_id="13">
    <a href="#" action="delete">delete</a>
</div>
Run Code Online (Sandbox Code Playgroud)

然后,我可以设置代码,找出所有<a>与标签action属性,发现父母有typeapp_id,然后做CRUD操作......所有没有我不必编写额外的代码.

是否有任何陷阱(除了不是严格的XHTML投诉)我应该注意,和/或我应该效仿的任何好习惯?设置我自己的属性命名空间的标准方法怎么样?

Ste*_*roy 6

根据这个问题,在XHTML 1.0中使用XML命名空间是无效的.将您自己的属性添加到同一名称空间对我来说似乎更糟糕,因为它们肯定是无效的,即使是XML也是如此.

如果我这样做,我会得到我的里程classrel属性.例如:

<div class="book" id="book_13">
   <a href="http://example.com/url/to/delete/non/ajaxily" class="delete">delete</a>
</div>
Run Code Online (Sandbox Code Playgroud)

  • @Don - 不,你没有.您可以在任何元素上使用多个类,只需用空格分隔它们即可.例如,"明天签出的书籍"完全有效 (2认同)

Cha*_*ant 4

我可以像数据库记录一样将自定义属性存储在 HTML DOM 中吗?

新的 HTML 5 数据属性可能正是您所寻找的。

http://ejohn.org/blog/html-5-data-attributes/

http://dev.w3.org/html5/spec/Overview.html#custom

我知道它不是“XHTML”,但至少它是某些标准的一部分;)