【发布时间】:2015-07-23 06:38:41
【问题描述】:
可以根据元素的数据属性在列表中创建两列外观吗? 我的 HTML 不能真正修改成两个列表(即使使用 JS 会破坏页面上的其他功能)看起来像:
<ul>
<li data-list="general_results">general text1</li>
<li data-list="general_results">general text2</li>
<li data-list="general_results">general text3</li>
<li data-list="category_results">category text1</li>
<li data-list="category_results">category text2</li>
<li data-list="category_results">category text3</li>
<li data-list="category_results">category text4</li>
</ul>
我希望输出显示为:
一般文本1 类别文本1 一般文本2 类别文本2 一般文本3 类别文本3 类别文本4假设总是将元素按顺序分组。
我不确定如何通过所需的输出来实现这一点。浮动以从左到右的方式放置元素,而不是垂直布局。 有什么想法吗?
【问题讨论】:
-
所以你把它分为两类?
-
差不多,但只是视觉上的。有点需要它在语义上保持一致。
-
使用 jquery 怎么样?你可以做这样的事情。
$('ul li[data-list=general_results]').each(function(){ alert($(this).html()); }); -
我看不出它们在视觉上是如何分开的?如果我将这些
- 放入另一个元素或从它们所在的位置移动,那么已经在听它们的其他东西会中断,我会失去该功能。因为它是由另一个人构建的,所以我不明白它是如何工作的,这就是我希望 CSS 解决方案的原因
-
你需要先获取值....把它放在一个数组上......然后做一个foreach..将它们附加到不同的元素上。前任。
div