附加一个大李到ul:最好的方式?

时间:2010-04-10 02:51:09

标签: javascript jquery

我有一个有很多嵌套div的li。我将如下附加ul:

     $("ul#List").append('<li><div>....many more nested divs...</li>');

li的结构与ul中的其他lis相同,但我必须修改一些元素。

我的问题是,我是通过手动写出整个结构来做错了吗?

2 个答案:

答案 0 :(得分:3)

如果它遵循模板(带有斑点以接受变量的标准HTML),则可能有build(data)函数,该函数接收数据集并构建html字符串。从长远来看,它可以更加可维护,也可以重复使用。

Resig在这里有自己的模板生物:

http://ejohn.org/blog/javascript-micro-templating/

所以你的功能(与上面的链接无关)可能如下所示:

var myObject = {
    name : "Alex",
    occupation : "Developer",
    faveFormat : "JSON"
}

function buildHTML(obj) {
    var name = obj.name;
    var occupation = obj.occupation;
    var faveFormat = obj.faveFormat;

    var resultHTML = [];

    resultHTML.push('<li><div>');
    resultHTML.push("My name is" + name);
    //etc etc
    resultHTML.push('</div></li>');
    var doneHTML = resultHTML.join(" ");
    return doneHTML;
}

尝试一下!

答案 1 :(得分:1)

请关注此事,

为要附加的li提供class / id

假设您要追加

<li id='templi'><div>......</div><li>

然后

var lihtml = jQuery('#templi').clone();

jQuery("ul#List").append(lihtml);

如果您有任何问题,请回复,我认为它有效