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

标签 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 -->
      <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 脚本可以: 当<p class="add">单击 -> 在 <li class="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>");
   });
});

脚本问题:它添加了 <li class="newrow">给所有的div。我希望它只发生在我点击 p.add 的 div 上。

最佳答案

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

在点击处理程序中 this 将指向被点击的 p.add 然后你可以使用 closest() 找到最近的父级 li.edit

$(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>");
   });
});

关于jQuery 仅在我当前所在的 div 中添加内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16817931/

相关文章:

javascript - 如何在 jQuery 中制作图像链接列表?

jQuery - 使用带有正则表达式的 not() 选择器

jquery - 将 jQuery 对话框中心定位在移动设备问题上

javascript - CSS 非选择器不起作用?

Javascript 不会替换我的 <div> 文本

html - 用 css 在悬停时摇动图像?

javascript - jQuery AJAX 调用不执行成功 block

jQuery 删除(选择器)似乎不起作用

html - 如何沿顶部水平对齐这些 div?

javascript - Luhn 检查 Javascript