Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery仅在我当前所在的div中添加内容_Jquery_Html - Fatal编程技术网

jQuery仅在我当前所在的div中添加内容

jQuery仅在我当前所在的div中添加内容,jquery,html,Jquery,Html,如何创建选择器,使jQuery只在我当前所在的div中添加内容? div在一个php foreach循环中,所以我不希望div有任何id或类 这是html的结构: <div> <ul class="menu-category"> <li>Some stuff</li> <li class="newrow"></li> <!-- added when clicking on p.add --

如何创建选择器,使jQuery只在我当前所在的div中添加内容? div在一个php foreach循环中,所以我不希望div有任何id或类

这是html的结构:

<div>
   <ul class="menu-category">
      <li>Some stuff</li>
      <li class="newrow"></li> <!-- added when clicking on p.add -->
      <li class="edit"><p class="add">Add</p></li>
   </ul>
</div>

<div>
   <ul class="menu-category">
      <li>Some stuff</li>
      <li class="newrow"></li> <!-- added when clicking on p.add -->
      <li class="edit"><p class="add">Add</p></li>
   </ul>
</div>
此jQuery脚本执行以下操作: 单击

时->在前面添加行


脚本的问题:它会添加到所有div。我只希望它发生在我正在单击p.add-on的div上。

这里的技巧是找到相对于单击的p.add元素的li

在单击处理程序中,这将指向单击的p.add,然后您可以使用查找最近的父级li.edit


这里的技巧是找到相对于单击的p.add元素的li

在单击处理程序中,这将指向单击的p.add,然后您可以使用查找最近的父级li.edit

// Add new row
$(document).ready(function() {
   $('.menu-category > li ul li p.add').click(function(){
      $('.menu-category > li ul li.edit').before("<li class='newrow'><h6>New item</h6><div><p>Maträtt:</p><input type='text' name='name_[]' placeholder='namn' /></div><div><p>Ingredienser:</p><input type='text' name='ingredients_[]' placeholder='ingredienser' /></div><div><p>Pris:</p><input type='text' name='price_[]' placeholder='Pris' /></li>");
   });
});
$(document).ready(function() {
   $('.menu-category > li ul li p.add').click(function(){
      $(this).closest('li.edit').before("<li class='newrow'><h6>New item</h6><div><p>Maträtt:</p><input type='text' name='name_[]' placeholder='namn' /></div><div><p>Ingredienser:</p><input type='text' name='ingredients_[]' placeholder='ingredienser' /></div><div><p>Pris:</p><input type='text' name='price_[]' placeholder='Pris' /></li>");
   });
});