如何使用jQuery添加DOM元素?

我有一个function,我目前正在使用它来显示隐藏的div.a_type

我怎样才能修改这段代码,这样我就可以将新的div添加到DOM中,而不是淡入隐藏的div

 jQuery(function(){//添加答案

     jQuery的( “add_answer”)。点击(函数(){
       if(count> =“4”){
        警报('只允许4个答案');
         }其他{
       var count = $(this).attr(“alt”);
      计数++;
       ( 'a_type _ '+数+''):$(本)。家长( 'DIV第一')找到淡入();
       $(this).attr(“alt”,count);
     }

     }); 

 });

好的,既然我已经解决了这个问题,我还有一个问题,

我有另一个函数,如果单击一个按钮,将删除插入的div。 现在它没有工作,额外的div没有加载到页面加载的dom。 我如何触发function现在删除这些?

jQuery(function(){//隐藏答案

jQuery(".destroy_answer").click(function(){ $(this).parents("div:first").fadeOut(function (){ $(this).remove() }); var count = $(this).parents('div:first').parents('div:first').find('.add_answer').attr("alt"); count--; $(this).parents('div:first').parents('div:first').find('.add_answer').attr("alt", count); }); 

});

如何在最后一个div之后添加它。

 $('.a_type:last').insertAfter('
content
');

编辑
你可以通过对somefile.php的AJAX调用来获取信息,然后somefile应该在div中返回你想要的内容:

 $.get('path/to/somefile.php', function(data){ $('.a_type:last').insertAfter('
' + data + '
'); });

Somefile.php应该是这样的:

  

编辑
好的,试试这个:

 jQuery(function(){//添加答案

 jQuery的( “add_answer”)。点击(函数(){
   if(count> =“4”){
    警报('只允许4个答案');
     }其他{
   var count = $(this).attr(“alt”);
  计数++;
   $(”。a_type _ '+算-1 +' ')。insertAfter(' 
       把内容放回这里');
   $(this).attr(“alt”,count);
 }

 });

 });

如果你仍然需要,只需混合使用AJAX即可。

我有另一个函数,如果单击一个按钮,将删除插入的div。 现在它没有工作,额外的div没有加载到页面加载的dom。 我如何触发function现在删除这些?

您有三种方法可以解决最近的问题。

  1. 您可以使用liveQuery ,这是一个jQuery插件,可以在添加时将事件处理程序重新应用于DOM元素。 注意:此插件仅在您使用本机jQuery DOM附加/前置函数(append / prepend / after / before / insertBefore / insertAfter等)时才有效。

  2. 或者,您可以在添加新元素时手动重新应用处理程序…(不是最佳选项)

  3. 第三,在我看来,最好的选择是利用事件授权的强大力量。 您所做的是将事件处理程序附加到任何父级,例如,如果您要将列表项动态添加到无序列表,而不是不断地将事件处理程序重新应用于每个添加的项,您只需附加事件处理程序到父母然后找到事件的目标:

     $('ul').click(function(e){ var target = e ? e.target : window.event.srcElement; if(target.nodeName.toLowerCase() === 'li') { // Do Stuff... } })