jQuery仅在我当前所在的div中添加内容
如何创建选择器,使jQuery只在我当前所在的div中添加内容? div在一个php foreach循环中,所以我不希望div有任何id或类 这是html的结构: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 --
<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>");
});
});