2014-11-06 25 views
0

我想将下面的div添加到DOM中的#galleryHeader div中,该div有两个子项。将新创建的div插入到DOM中

<div class=open_folder_icon> 
      <img class="folder_icon" src="images/folder_open.png" alt="open folder" /> 
      <div class="folder_name" >Root</div> 
    </div> 

我想用我的更复杂的div像做

$('<div>').appendTo(#galleryHeader); 

但原来简单的 '格' 在这里。有没有一种干净的方式来做到这一点?

感谢

回答

1

不知道问题是什么,但如果其对追加

它使用append应该去其他方向:

​​

其中<div>是你的更复杂div作为一个字符串。

请参阅documentation here

或者,你应该能够做到:

$('<div>').appendTo('#galleryHeader'); 

在这两种情况下,你需要确保你的#galleryHeader是在引号,因为它被用作选择。

如果问题是有关创建复杂的div

jQuery的可以让你从一个字符串创建元素很容易。只是构建像一个字符串的元素:

var myDiv = '<div class=open_folder_icon>' + 
    '<img class="folder_icon" src="images/folder_open.png" alt="open folder" />' + 
    '<div class="folder_name" >Root</div>' + 
    '</div>'; 

,然后在jQuery的语句中使用它:

$(myDiv).appendTo('#galleryHeader') 

您也可以直接放置在div作为串入$()表达,但我个人认为将它放入自己的变量并逐行构建它比HTML的巨大单行更容易阅读。

另一种选择是,您可以使用模板引擎(如underscorehandlebars)来生成供给jQuery的字符串。

在引擎盖下,jQuery调用适当的DOM函数来创建您的HTML作为您传递它的字符串中的DOM元素对象。

+0

好吧,好的。但我仍然不确定如何将复杂的div封装在附加括号内。 – Steve 2014-11-06 02:32:50

0

你也应该避免引用下面的例子是你的复杂div与逃脱 报价,它的工作原理。此外,你忘了在“open_folder_icon”类中加入引号

$("#galleryHeader").append("<div class=\"open_folder_icon\"><img class=\"folder_icon\" src=\"images/folder_open.png\" alt=\"open folder\" /><div class=\"folder_name\" >Root</div></div>");