【问题标题】:How to make jQuery Mobile attributes XHTML-valid如何使 jQuery Mobile 属性 XHTML 有效
【发布时间】:2013-12-07 05:54:47
【问题描述】:

我前段时间开始使用 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,对吧?

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

【问题讨论】:

  • 这些是 HTML 5 属性。如果要进行验证,则需要使用 HTML 5。
  • 哈哈,我记得XHTML。很高兴它从未得到任何浏览器的支持,而且 HTML5 在造成太大损害之前就出现了。

标签: jquery jquery-mobile xhtml dtd html-validation


【解决方案1】:

jQuery Mobile 主页明确说明是:

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

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

<!DOCTYPE html>

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

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

【讨论】:

  • 我特别喜欢“如果这对你很重要”。部分。验证只不过是一个极客标志。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多