【问题标题】:Append an element to a new one in the same position将一个元素附加到相同位置的新元素
【发布时间】:2017-08-06 06:18:24
【问题描述】:

问题不是标签 FOR 属性,它有效,我的问题是我需要按预期呈现文档

对这段代码感到疯狂!为什么它不起作用?

<div>
  <input type="checkbox" name="tonino" />
</div>

<script>
   var $el=$('input[name="tonino"]');
   var el=$el.prop('name');
   $el.before('<label for="'+el+'" />');
   $el.appendTo($el.parent().find('label:first'));
</script>

我期待:

<div>
  <label for="tonino">
     <input type="checkbox" name="tonino" />
  </label>
</div>

【问题讨论】:

  • 什么不完全有效?这对我来说似乎很好......但也许我错过了一些东西。
  • 您需要解释您正在努力做的事情才能更好地获得帮助。你在期待什么?你会得到什么?
  • @Tricky12 现在请看一下 ;)
  • $(this) ?????
  • 你为什么不直接使用$.wrap()api.jquery.com/wrap

标签: javascript jquery dom append


【解决方案1】:

使用$.wrap() http://api.jquery.com/wrap/ 的简单方法

var cb = $('input[name="tonino"]');
cb.wrap($('<label />', {
    'for': cb.attr('name')
}));

【讨论】:

    【解决方案2】:

    我想你想要像下面这样(通过浏览器控制台检查 HTML 以查看代码是否正常工作?):-

    var el=$('input[name="tonino"]');
    el.before('<label for="'+el.attr('name')+'" />'+el.attr('name')+'<label>');
    el.appendTo(el.parent().find('label:first'));
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div>
      <input type="checkbox" name="tonino" />
    </div>

    注意:- jquery 库也需要。

    【讨论】:

      猜你喜欢
      • 2021-11-25
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 2013-10-12
      • 1970-01-01
      • 2021-04-30
      • 1970-01-01
      相关资源
      最近更新 更多