【发布时间】:2016-11-18 16:47:07
【问题描述】:
我有一个非常严格的 html 结构,它显示图片库。图像按字母顺序分组。
演示:http://codepen.io/sol_b/pen/aBpbxz
每个面板的 HTML:
<div class="item">
<h2>A</h2>
<div class="image">
<img src="image.jpg">
</div>
</div>
我想做的是将每个字母组分开。
像这样:http://codepen.io/sol_b/pen/LbxVRr
很遗憾,我无法更改 HTML,只能更改 CSS(或 JavaScript,如果有必要的话)。
我尝试过定位、浮动、宽度。更困难的是每个项目都有一个标题,无论它是否显示内容。
这甚至可以通过 CSS 实现吗?
我考虑过的一件事是在每个包含内容的标题之前添加一个<br> 标签。示例:
var breakTag = document.createElement('br');
var element = document.getElementsByTagName('h2');
if(element.innerHTML == ""){
element.insertBefore(breakTag);
}
但是我需要在项目之前定位,而不是在 h2 之前,我不知道该怎么做。
非常感谢任何帮助。
【问题讨论】:
-
使用javascript,你将统治HTML
-
您可以使用 jquery
.appendTo和类似的移动元素。注意他们是否绑定了事件。 -
@freedomn-m - 所以我可以将一个类附加到任何带有内容的 h2 上?我想将一个类附加到 h2 周围的项目中。是否可以专门针对它?我看不出它如何不仅仅针对所有项目...
标签: javascript jquery html css