如何防止 jQuery 在 insertAfter 函数中添加额外的 space ' '

How do I prevent jQuery from adding an extra space ' ' in insertAfter function

这个插入代码工作得很好

<script>
    var X = 0;
    $(function () {
            X++;
            $("#AddNumber").on({ 'click': function () { $('<div class="form-row"><label><span>Another Number</span><input type="tel" name="Mobile' + X + '"><a><img onclick="$(this).closest("div").remove();" class="DeleteNumber" width="25" height="25" src="/Images/Delete.png" /></a></label></div>').insertAfter("#AddNumberAction"); } });
        }
    );

</script>

但是当我插入后检查它时是这样的

这导致它无法正常工作..

那是关于引用的用法...

传递给.closest()的参数使用双引号传递。但是双引号已经包裹了 onclick= 字符串...

由于您正在创建的整个 jQuery 元素组已经使用单引号括起来...那么,您应该在 div 周围使用一组转义的单引号...就像 <img onclick="$(this).closest(\'div\').remove();"

所以像这样尝试:

<script>
  var X = 0;
  $(function () {
    X++;
    $("#AddNumber").on({ 'click': function () { $('<div class="form-row"><label><span>Another Number</span><input type="tel" name="Mobile' + X + '"><a><img onclick="$(this).closest(\'div\').remove();" class="DeleteNumber" width="25" height="25" src="/Images/Delete.png" /></a></label></div>').insertAfter("#AddNumberAction"); } });
  });

</script>