如何使jQuery Mobile属性XHTML有效

Ste*_*ose 5 xhtml jquery dtd html-validation jquery-mobile

我不久前开始使用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>
Run Code Online (Sandbox Code Playgroud)

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

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

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

我尝试谷歌搜索找到解决方案,但不能.我想解决这个问题,所有jQuery Mobile属性都应该存在一个DTD,对吧?

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

Joh*_*lum 11

jQuery Mobile主页明确指出它是:

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

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

<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)

不要忘记,如果使用HTML5 doctype,仍然可以使用XHTML样式的语法.我想大多数人都这么做.

顺便说一下,jQuery Mobile并没有构成它自己的属性 - 它们不是"jQuery Mobile"属性 - data-*属性系统是HTML5的一部分并且存在,因此您可以将任意数据附加到DOM节点.

  • 我特别喜欢"如果这对你很重要".部分.验证只不过是一个极客旗帜. (4认同)