JQuery添加li元素导致错位

标签 jquery

这让我抓狂,jquery 添加一个简单的 li 元素到 ul 中,导致 jquery 添加的 li 元素与作为原始 DOM 一部分的元素不一致。

运行 JS Fiddle 并单击“添加新”。 原始 DOM 中的 li 子元素与 jquery 添加的子元素实际上是相同的,并且我在 chrome 检查器中看不到任何填充差异。

请参阅顶部的 2 个 jquery 添加的 li 元素的对齐问题图像。

enter image description here

https://jsfiddle.net/advocate/hg8z0kvm/

(function() {

  $('#addnew').click(function() {

    htmlCode = "<li>" +
      "<input type=\"checkbox\">" +
      "<input type=\"text\" name=\"desc\" placeholder=\"Description...\">" +

      "</li>";
    $("#thelist").prepend(htmlCode);


  });

})();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
  <ul id="thelist">
    <li>
      <input type="checkbox">
      <input type="text" name="desc" placeholder="Enter Desc...">
    </li>
    <li>
      <input type="checkbox">
      <input type="text" name="desc" placeholder="Enter Desc...">
    </li>
  </ul>
</form>
<input type="submit" id="addnew" value="AddNew">

最佳答案

问题是 HTML 代码上的空格。您可以从标签之间的 html 中删除它们,并且不再有任何区别:

(function() {

  $('#addnew').click(function() {

    htmlCode = "<li>" +
      "<input type=\"checkbox\">" +
      "<input type=\"text\" name=\"desc\" placeholder=\"Description...\">" +
      "<input type=\"url\" name=\"url\" placeholder=\"URL...\">" +
      "</li>";
    $("#thelist").prepend(htmlCode);

  });

})();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
  <ul id="thelist">

    <li>
      <input type="checkbox"><input type="text" name="desc" placeholder="Enter Desc..."><input type="url" name="url" placeholder="URL">
    </li>
    <li>
      <input type="checkbox"><input type="text" name="desc" placeholder="Enter Desc..."><input type="url" name="url" placeholder="URL">
    </li>

  </ul>
</form>

<input type="submit" id="addnew" value="AddNew">

关于JQuery添加li元素导致错位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57661541/

相关文章:

javascript - 保留jquery粘贴格式

javascript - 加载页面时打开 Bootstrap 菜单

javascript - 在点击时创建切换

jquery - 如何动画滚动到 div 中的段落顶部?

javascript - 使用 Highchart 的面积样条图

javascript - Moment.js 以秒为单位动态更新时间

javascript - JS/jQuery TypeError : jQuery(. ..).datepicker 不是函数

javascript - 检测第一个 ul 元素并在内部更改 li 或使用 jquery .html() 创建新的 li

javascript - 如何获取所选行的行索引

javascript - jQuery 斜体选择问题