首页 > 解决方案 > 如何在 jQuery DOM 操作中引用目标?

问题描述

我想使用 jQuery 在所选元素之后添加元素,并说我想生成一个与目标同名的新元素。

$("input:checkbox").after("<input type='hidden' name='...' value='...'/>");

我想我必须用字符串连接来做到这一点:

$("input:checkbox").after("<input type='hidden' name='"+ <how to refer here to the target?>+"' value='...'/>");

问题

如何在参数表达式中引用实际目标after()?使用 jQuery 事件侦听器时,我知道我得到了事件,它的target属性将是 DOM 元素,但在这里我被卡住了

标签: jquery

解决方案


使用each,您将获得一个回调,您可以从中引用迭代过的元素。

$("input:checkbox").each(function() {
  // `this` now refers to the input

  // maybe you want something like
  $(this).after("<input type='hidden' name='" + this.name + "' etc
});

$("input:checkbox").each(function() {
  $(this).after("<input name='" + this.name + "'>");
});
console.log(document.body.innerHTML);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" name="foo">


推荐阅读