我有一个有很多嵌套div的li。我将如下附加ul:
$("ul#List").append('<li><div>....many more nested divs...</li>');
li的结构与ul中的其他lis相同,但我必须修改一些元素。
我的问题是,我是通过手动写出整个结构来做错了吗?
答案 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);
如果您有任何问题,请回复,我认为它有效