【问题标题】:Build ul li from array using jQuery使用 jQuery 从数组构建 ul li
【发布时间】:2013-03-10 17:22:46
【问题描述】:

我得到了一个如下所示的数组:

var myArray = {
    "ABC.txt": "1",
    "AD.txt": "2",
    "uploads/": "1",
    "uploads/Penguins.jpg": "1",
    "uploads/Tulips.jpg": "2",
    "morefiles.txt": "2"
};

我正在尝试像这样使用ul li

<ul>
  <li>
    <a href="ABC.txt" pos="1">ABC.txt</a>
  </li>
  <li>
    <a href="AD.txt" pos="2">AD.txt</a>
  </li>
  <li rel="folder">
    <a href="uploads/" pos="1">uploads</a>
    <ul>
      <li>
        <a href="uploads/Penguins.jpg" pos="1">Penguins.jpg</a>
      </li>
      <li>
        <a href="uploads/Tulips.jpg" pos="2">Tulips.jpg</a>
      </li>
    </ul>
  </li>
  <li>
    <a href="morefiles.txt" pos="2">morefiles.txt</a>
  </li>
</ul>

我正在尝试使用 jQuery 将其变为 UL LI,但实际上我什么都没有,只是一些代码碎片,甚至没有任何值得放在这里的东西。

请大家帮忙。

【问题讨论】:

  • 您可能想看看模板引擎。像 Mustache.js 或其他任何一种都可以帮助您。

标签: jquery arrays html-lists


【解决方案1】:

看起来您需要某种模板引擎。查看ICanHaz,您可以在其中获得类似的内容:

<script id="user" type="text/html">
  <li>
    <p class="name">Hello I'm {{ name }}</p>
    <p><a href="http://twitter.com/{{ twitter }}">@{{ twitter }}</a></p>
  </li>
</script>

初始化脚本很简单:

var user = ich.user(user_data_object)

另外,本文Client-Side Templating 将为您解释以下内容:

<h1>{{title}}</h1>
<ul>
    {{#names}}
        <li>{{name}}</li>
    {{/names}}
</ul>

除此之外:

var data = {
    "title": "Story",
    "names": [
        {"name": "Tarzan"},
        {"name": "Jane"}
    ]
}

要转换成这个:

<h1>Story</h1>
<ul>
    <li>Tarzan</li>
    <li>Jane</ul>
</ul>

【讨论】:

    【解决方案2】:

    首先变量 myArray 不是数组,数组是在 [ ] 中定义的,所以它应该看起来像这样

    var myArray = [{"ABC.txt" : "1"}, {"AD.txt" : "2"}, {"uploads/" : "1"}, {"uploads/Penguins.jpg" : "1"}, {"uploads/Tulips.jpg" : "2"},{"morefiles.txt" : "2"}];
    

    但是要在您的问题中生成 html,您最好使用以下结构:

    var myArray = [
        {
            "href":"ABC.txt",
            "pos" : "1"
        },{
            "href":"AD.txt",
            "pos":"2"
        },
        ...etc
    ];
    

    然后使用另一个内部数组生成嵌套的

    然后,您可以使用 for 循环遍历数组并随时将元素附加到

    【讨论】:

    • 也许我的想法从一开始就错了,我正在做的是取一个 ul li,通过 href 将其放入一个数组(保持位置)并将其与另一个数组同步(来自 ul) .也许我应该在没有数组的情况下直接从 ul li 同步它们,但我不知道如何在没有数组的情况下做到这一点。 (用于同步为文件顺序保存的ul li,并使其与文件的当前状态保持同步)
    • 阙??我认为您需要澄清您的问题,您是在创建 javascript 数组,还是来自外部源?
    猜你喜欢
    • 2014-04-25
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-20
    • 2011-08-18
    • 1970-01-01
    相关资源
    最近更新 更多