使用jQuery重新分组元素

3

我页面上有很多这样的消息:

<div class="messages">A</div>
<div class="messages">B</div>
<div class="messages">A</div>
<div class="messages">C</div>

有没有使用jQuery(而不是PHP)对两个div A进行计数和重组的方法:

<div class="messages">A</div><span>2</span>
<div class="messages">B</div>
<div class="messages">C</div>

谢谢。

2个回答

2
您可以从以下内容开始:

您可以从以下内容开始:

$('div.messages:contains(A)');

如何将此功能融入您的其他代码取决于您事先了解的内容。

如果您不知道可能的值是什么,您最终可能会得到类似以下的结果:

var $messages = $('div.messages');
var counts = {};
$messages.each(function (i, div) {
  var $div = $(div);
  if (counts[$div.text()] == undefined) { counts[$div.text()] = 0; }
  ++counts[$div.text()];
});

那将根据它们的内容计算divs的数量。然后添加一个循环遍历这些计数。

0

"use strict";
/*全局变量 $*/
$(function () {
  var selector = '.messages'; 
  $(selector).each(function (i, div) {
    var similar = $(selector + ':gt(' + i + ')').filter(function (index) {
      return $(this).text() === $(div).text();
    });
if (similar.length) { var count = similar.remove().length + 1;
$(this).after(count); } }); });

祝好,Roman


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接