为什么属性 'sortable' 在 html-helper 生成的 <th> 标签中消失了

Why is attribute 'sortable' disappearing in <th>-tag generated by html-helper

我将创建一个带有 header 的 table,如下所示:

<th field="id" formatter="" styler="" sortable="true">#Asset</th>

为此,我使用此代码

$this->Html->tag('th',#Asset,'field'=>'id', [
    'formatter'=>'',
    'styler'=>'',
    'sortable'=>'true'
]);

但奇怪的是,我得到了这个结果:

<th field="id" formatter="" styler="" sortable="sortable">#Asset</th>

如果我更改代码

$this->Html->tag('th',#Asset,'field'=>'id', [
    'formatter'=>'',
    'styler'=>'',
    'sortable'=>''
]);

结果更奇怪,属性'sortable'消失了:

<th field="id" formatter="" styler="">#Asset</th>

谢谢你帮助我。

sortableis/was一个boolean attribute。这种属性 false 状态表示为未定义属性,其 true 状态由空值或属性名称表示。实际值 truefalse 对布尔属性无效。

为了 backwards/cross-browser 兼容性,CakePHP 使用后一种值变体。将 false-ish 值(例如空字符串)传递给 HTML 助手将导致不添加该属性。

ps。 sortable 去年是 removed from the HTML standard,它不再出现在当前的 HTML 5.1 推荐中。

另见