Javascript 在jquery中创建新的HTML元素

Javascript 在jquery中创建新的HTML元素,javascript,jquery,html,Javascript,Jquery,Html,在此输入代码我有一个包含三个输入的div,其中一个是文件输入,我希望当用户添加文件时,该div的另一个副本出现,以便用户可以添加另一个文件。我想在jquery中实现它 我尝试了append事件,并复制了这个div的HTML代码,但是当副本出现并且用户可以选择另一个文件时,没有其他副本出现 <div class="master-div"> <div class="divv"> <input class="click" type="file">

在此输入代码我有一个包含三个输入的div,其中一个是文件输入,我希望当用户添加文件时,该div的另一个副本出现,以便用户可以添加另一个文件。我想在jquery中实现它

我尝试了append事件,并复制了这个div的HTML代码,但是当副本出现并且用户可以选择另一个文件时,没有其他副本出现

<div class="master-div">
  <div class="divv">
    <input class="click" type="file"> 
   <input type="text">
   <input type="text">
 </div>
</div>

您的问题是,单击处理程序仅附加到运行代码时页面上的.click元素。将您的处理程序连接到.master div并侦听单击:

$.master-div.onclick、.click、函数{ $'.master div'.append; };
请在问题中向我们展示您的标记以及您已经尝试过的任何尝试。您需要共享您的代码,但动态元素上的事件处理程序似乎存在问题。查看jQuery中的“事件委派”,以确保事件处理程序应用于动态添加的元素,如这些输入code@AlexanderStaroselsky猜对了。您的$'.click'侦听器仅附加到调用时存在的元素。。。它创建的.click元素的未来实例未附加到事件侦听器-因此单击它们不会调用该函数。类似于$'.master div'。在'click'上,'.click',函数{/*CODE HERE*/};我会修复它;这似乎每天都出现在这个网站上。这可能是一个众所周知的复制品。投票以重复的方式关闭,而不是重复答案。抱歉@Taplar,我不知道它是重复的。它起作用了,谢谢,但是有没有代码可以通过调用类而不是在JQuery代码中编写HTML代码来复制HTML?是-使用$.master-div.append$.diiv.clonetrue。
$('.click').on('click', function () {
        $('.master-div').append('
<div class="divv">
    <input class="click" type="file"> 
   <input type="text">
   <input type="text">
 </div>');


    });