我的网页上有很多信息,如下所示:
<div class="messages">A</div>
<div class="messages">B</div>
<div class="messages">A</div>
<div class="messages">C</div>
有没有任何方法可以使用jQuery(没有PHP)来计算和重组2 div A,如下所示:
<div class="messages">A</div><span>2</span>
<div class="messages">B</div>
<div class="messages">C</div>
谢谢。
答案 0 :(得分: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()];
});
这将根据他们的内容计算div。然后你添加循环计数的东西。
答案 1 :(得分:0)
这应该可以帮助你:)
"use strict";
/*global $*/
$(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);
}
});
});
wbr,罗马