如何使 jQuery Mobile 属性 XHTML 有效

问题描述 投票:0回答:1

我不久前开始使用 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,对吗?

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

jquery validation jquery-mobile xhtml dtd
1个回答
11
投票

jQuery Mobile 主页明确指出:

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

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

<!DOCTYPE html>

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

顺便说一句,jQuery Mobile 并没有创建自己的属性 - 它们不完全是“jQuery Mobile”属性 - data-* 属性系统 是 HTML5 的一部分,其存在是为了让您可以将任意数据附加到 DOM 节点。

© www.soinside.com 2019 - 2024. All rights reserved.