有什么方法可以在Javascript中切换ul和ol吗?

时间:2013-01-16 08:01:01

标签: javascript jquery knockout.js

我有动态创建列表(ol或ul)的问题。我面临的问题是,有时候我需要有序列表,有时候根据JSON无序。我正在使用淘汰赛,这是我的HTML,

<ol data-bind="foreach: items" ><li><a data-bind="text: $data"></a></li></ol>

这是我的JSON,

{
   items: ['a','b','c'],
   orderedList: true
}

您可以看到orderedList可能为true或false。如果是真的那么我需要使用ol,如果是假,我需要使用ul。我也避免复制。任何方式都可以做到这一点。

1 个答案:

答案 0 :(得分:2)

这是我放在一起的原始样本,无法测试它。但你可以得到这个想法。

<!-- ko if : orderedList -->
<ol>
<!-- /ko -->
<!-- ko ifnot : orderedList -->
<ul>
<!-- /ko -->
<!-- ko foreach: items -->
<li><a data-bind="text: $data"></a></li>
<!-- /ko -->
<!-- ko if : orderedList -->
</ol>
<!-- /ko -->
<!-- ko ifnot : orderedList -->
</ul>
<!-- /ko -->

编辑:淘汰赛中没有if-else条件。因此,您将不得不依赖于使用多个Ko if语句。

EDIT2 :适用于OP的代码版本。

<!-- ko if : orderedList -->
<ol data-bind="foreach: items">
    <li><a data-bind="text: $data"></a></li>
</ol>
<!-- /ko -->
<!-- ko ifnot : orderedList -->
<ul data-bind="foreach: items">
    <li><a data-bind="text: $data"></a></li>
</ul>
<!-- /ko -->