javascript - 添加了 after() 的 jQuery 元素间距不正确

标签 javascript jquery html css jquery-after

我有一个 <ul>有很多 <li>其中的元素。其中一些是隐藏的,并在使用 jQuery 单击时添加到列表的末尾 after() .

但是,由于某些原因,添加了after()的元素总是有点太靠近它们之后添加的元素。

我做了一个jsbin来演示here

另外,截图说明一下:

enter image description here

使用after()的原因而不是简单的 addClassshow是因为该列表依赖于使用 li:nth-child(even) 应用样式,因此如果元素存在,但只是隐藏,则会导致列表样式出现问题。

最佳答案

答案是因为 <li>元素是 inline , 并且在您的 HTML 中由换行符分隔,在呈现时会在它们之间创建一个空格。

当您以编程方式插入元素时,它们不会被换行符分隔,因此它们之间不会出现空格。

把所有的li放在一起可以看到换行的效果单行上的元素,间距将消失,或者通过添加 float:leftli在你的 CSS 中

Demo of this effect

More reading...

关于javascript - 添加了 after() 的 jQuery 元素间距不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22960367/

相关文章:

javascript - createjs SoundJS 播放单声道而不是立体声

javascript - 使用 Ajax 从 PHP 获取 Echo 到 Div

jquery - 使用 jQuery 在 Chrome 扩展弹出窗口中显示隐藏 div

javascript - jQuery/JavaScript 复制函数出现错误

html - 自动完成属性不起作用

php - HTML5分页

javascript - 在 angularjs Controller 中创建乘法函数?

javascript - 了解 timer.js 中的 return this

javascript - 在 Django 中使用 jquery 发布文件

html - 不透明度悬停效果在 IE 中无法正常工作