【发布时间】:2013-07-01 19:30:06
【问题描述】:
我有一个数组,需要在显示前进行排序。 有一个代码如何创建我的数组
for ( $i = 0, $count = count( $notifications ); $i < $count; ++$i ) {
$alt = ( 0 == $counter % 2 ) ? ' class="alt"' : ''; ?>
<script>
array[i] = '<li><?php echo addslashes($notifications[$i]);?></li>';
i++;
</script>
<?php $counter++;
}
?>
这是每个循环的样子:
<li><a data-date="2013-06-16 11:44:50" href="http://example.com/url/">text!</a></li>
现在我需要按 data-date 属性对这个数组进行排序。
这就是我已经走了多远,但没有成功。
var joint = array.join("<br/>");
aka = jQuery(joint).find('a').sort(function (a, b) {
return '<li>' +a.getAttribute('data-date') - +b.getAttribute('data-date') + '</li>';
})
【问题讨论】:
-
为什么不使用实际的 JavaScript 数组而不是 DOM 元素来表示数据?
-
创建大量
<script>标签是一个非常糟糕的主意。为什么不用 PHP 创建一个格式良好的 JSON 字符串并将其传递给 JavaScript? -
这个数据来自不同的函数。在 wordpress 中 $notifications 被称为 $notifications = bp_core_get_notifications_for_user( bp_loggedin_user_id() ) 我可以在这个脚本中的 JS 中表示它吗?我正在考虑做类似的事情,但坚持使用多维数组..排序会变得非常痛苦
-
@Blender 是的,最后我会很好地重写它))所以我不会重复使用
-
@Mpa4Hu 我已经发布了一个关于如何根据数据日期重新排序列表的解决方案。
标签: javascript arrays html sorting