5

前段时间我开始使用 jQuery Mobile,知道 jQuery Mobile 的人都知道,它使用自己的 HTML 属性为项目赋予预定义的角色。主要是div。一些例子:

<div data-role="page" id="trackPage">
    <div data-role="header">
        ...
    </div><!-- /header -->
    <div data-role="content" id="content_init">
        <form action="DoTrack" method="post" id="track_form" data-ajax="false">
            <div data-role="fieldcontain" id="div_trackselect">
                <fieldset data-role="controlgroup" data-type="horizontal">
                    ....
                </fieldset>
            </div>
        </form>
        ...
    </div>
    ...
</div>

如您所见,添加了许多 jQuery 属性,例如data-role data-type data-ajax data-transition data-iconpos...

现在,我更喜欢使用 XHTML 严格的语法,但是在验证时我得到了这些错误:http ://cl.ly/400Q080G3X2V3j3x2S00

我也尝试了 XHTML Transitional,但它给出了同样的错误。

我尝试用谷歌搜索找到解决方案,但找不到。我认为要解决这个问题,所有 jQuery Mobile 属性都应该存在一个 DTD,对吗?

有没有其他方法可以解决这个问题?

4

1 回答 1

11

jQuery Mobile 主页明确指出它是:

一个统一的、基于HTML5的用户界面系统,适用于所有流行的移动设备平台...

因此,您应该使用 HTML5 文档类型。如果这对您很重要,这将确保您的页面得到验证。

<!DOCTYPE html>

不要忘记,如果您使用 HTML5 文档类型,您仍然可以使用 XHTML 样式的语法。大多数人都这样做,我想。

顺便说一句,jQuery Mobile 并没有组成自己的属性——它们并不是“jQuery Mobile”属性——data-* 属性系统是 HTML5 的一部分,并且存在以便您可以将任意数据附加到 DOM 节点。

于 2011-11-26T10:52:13.723 回答