2010-09-08 105 views
2

在jQuery的开发者都知道,jQuery的可以轻松地动态HTML创建这样代码约定jQuery函数链/嵌套

var d = $('<div/>') 
    .append('some text') 
    .append(
     $('<ul/>').append(
      $('<li/>').text('list item') 
         .css("color", "blue") 
         .click(function() { 
          // do something 
         }) 
     ) 
    ); 

什么是良好的编码习惯用于创建动态HTML像这样的可以去任意数量的水平,而仍然能够确定我在元素层次结构中的位置,并且可以发现我是否正确关闭了所有括号/大括号?

请不要将我引导到模板库。

回答

4

不要忘了,你可以创建一个新的元素(jQuery的1.4 +)时,通过地图的属性作为第二个参数:

$("<li/>", { 
    text: "list item", 
    css: { color: "blue" }, 
    click: function(){ 
    // do something 
    } 
) 

看到这样的手把或EJS到http://api.jquery.com/jQuery/#creating-new-elements

+0

'css:{color:“blue”}';) – 2010-09-08 15:54:48

+0

啊,谢谢尼克 - 对此不太确定。 – karim79 2010-09-08 15:58:37

+0

如何添加多个元素? – Jerome 2010-09-08 16:18:12

0

使用模板从行为特定代码中分离出模板。 把手具有额外的附加功能,即预先编译模板并将其转换为缩小的js。这缩小了js实际上减少了http调用并更快地加载页面。

在模板中,您可以添加类或ID以提供常见css文件中提到的样式。

+1

您是否错过OP要求不被定向到模板库的位? :) – Jamiec 2012-10-15 10:16:24