如何使jQuery移动属性xhtml有效



我在一段时间前开始使用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 Mobile的首页清楚地说明了它是:

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

因此,您应该使用HTML5 doctype。这将确保您的页面验证,如果这对您很重要的话。

<!DOCTYPE html>

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

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

最新更新